SVN初学者:
假设我提交了一个文件:版本20.它有一些问题所以我回滚了svn merge -r 20:19 / somepath然后将旧的更改提交回来。时间继续,其他队友贡献,现在我们正处于修订版40.虽然我的队友一直在工作,但我一直在调整我的旧代码,现在我已准备好将其添加回来。唯一的问题是,HEAD不再有我的更改,因此svn update会删除我的代码或导致冲突。如果我尝试反向合并,它会删除我的队友一直在处理的所有代码。我如何将我的代码与HEAD合并,以便留下我的队友未添加的代码和我未添加的代码?
答案 0 :(得分:0)
我试图在这里理解这个问题。假设项目中只有一个名为foo.txt
的文件。
foo.txt
进行了更改。足够简单:
$ svn -c -20 $REPO # Same as your -r20:19
$ svn commit -m"Removing Revision 20 from Revision 31 (the next one)"
现在,这是事情变得多云的部分......
假设您检查了修订版#31(您撤消更改的修订版)。您坐在这里并重新添加更改,现在它们可以正常工作。但是,其他所有人都已转到修订版#40。你做什么的?
$ svn update # Updates from Revision 30 to Revision 40, but keeps your changes
$ svn commit # Now creates Revision 41 with your changes and your friends' changes.
应该照顾它。