如果项目有多个人,比如说A,B,C一起工作,他们都编辑同一个源文件。哪个版本控制?
几个月后,他们意识到了什么A已经做是错误的,他们要还原的文件以这样一种方式,只有部分/功能/线/ ...的是,“感动”被去除, B和C的工作仍在回滚版本中。换句话说,回滚版本只有B和C的作品,直到他们决定删除A的作品为止。
是否有任何版本/源控制软件在那里(免费/商业)能做到吗?
谢谢。
如果项目有多个人,比如说A,B,C一起工作,他们都编辑同一个源文件。哪个版本控制?
几个月后,他们意识到了什么A已经做是错误的,他们要还原的文件以这样一种方式,只有部分/功能/线/ ...的是,“感动”被去除, B和C的工作仍在回滚版本中。换句话说,回滚版本只有B和C的作品,直到他们决定删除A的作品为止。
是否有任何版本/源控制软件在那里(免费/商业)能做到吗?
谢谢。
Git和有点脚本将这样做。也许有点手工工作,但你可以使用交互式rebase进行提交。
我使用TFS和Git。但是,有很多免费和开源的版本控制软件。你可以找到所有的源代码控制软件here。
大多数VCSS应该能够做到这一点 - 这是一个反向合并。在Subversion中,您可以识别A所做的修改并重新合并它们,但相反。为了简单化,这意味着将线添加成线删除,反之亦然。
# Don't want revision 37 because A made it.
$ svn merge -r 37:36 path
在Git中,你可能会做一些像
git revert `git rev-list --author=A`
[注:没有经过充分测试]
有点脚本?不应该'git回复'够了吗? –
knittl
2010-10-30 10:07:43
是的,你至少需要一个命令才能找到某个特定人的所有提交。这已经是脚本了。 – 2010-10-30 12:52:45