如果一个项目有多个人,比如A,B,C一起工作,他们都编辑同一个源文件。
几个月之后,他们意识到A所做的事情是错误的,并且他们希望以这样的方式回滚文件,即只删除A“触摸”的部件/功能/线/ ...并且工作B和C确实仍然处于回滚版本。换句话说,回滚版本只有B和C的工作,直到他们决定删除A的工作。
是否有任何版本/源代码控制软件(免费/商业版)可以做到这一点?
感谢。
答案 0 :(得分:1)
Git和一些脚本将会这样做。可能还有一点手工作,但你可以使用交互式rebase来提交提交。
答案 1 :(得分:1)
大多数VCS应该能够做到这一点 - 它是一个反向合并。在Subversion中,您将识别A所做的修订并再次将它们合并,但反之亦然。为了过度简化,这意味着将线路添加转换为线路删除,反之亦然。
# Don't want revision 37 because A made it.
$ svn merge -r 37:36 path
答案 2 :(得分:0)
我使用TFS和Git。但是,有很多免费和开源版本控制软件。您可以找到所有源代码管理软件here。
答案 3 :(得分:0)
在Git中,你可能会做类似
的事情git revert `git rev-list --author=A`
[注意:完全未经测试。]
答案 4 :(得分:0)