我在这里寻找的是如何操作 Svn 来有效地回滚我之前对存储库的提交而不影响我在本地所做的更改。
假设我这样做:
$ svn ci abc.java -m "Updated abc"
Sending abc.java
Transmitting file data .
Commited revision 123
然后我意识到我暂时还不想在存储库上进行更新,但想保留我在本地所做的更改。我希望我的本地文件保持不变,但存储库中的文件恢复到修订版本 122。
我只找到了一种方法来做到这一点,那就是使用反向合并:
$ svn merge -c -123 abc.java
--- Reverse-merging r123 into 'integer.c':
U integer.c
$ svn commit -m "Undoing last change: rev 123."
Sending abc.java
Transmitting file data .
Committed revision 124.
不幸的是,这意味着我必须在进行反向合并之前将本地文件复制到其他地方,然后在提交后将本地文件复制回来。
我想知道是否有一种不那么迂回的方法来做到这一点,其中操作只在存储库上进行?
谢谢
答案1
1.签出新的 repo 副本
2.跑步:
svn merge -rHEAD:XXXX
(XXXX 是您刚刚提交的修订版之前的修订版)
3.犯罪
4.删除新签出的仓库