2010-10-30 63 views
1

如果项目有多个人,比如说A,B,C一起工作,他们都编辑同一个源文件。哪个版本控制?

几个月后,他们意识到了什么A已经做是错误的,他们要还原的文件以这样一种方式,只有部分/功能/线/ ...的是,“感动”被去除, B和C的工作仍在回滚版本中。换句话说,回滚版本只有B和C的作品,直到他们决定删除A的作品为止。

是否有任何版本/源控制软件在那里(免费/商业)能做到吗?

谢谢。

回答

1

Git和有点脚本将这样做。也许有点手工工作,但你可以使用交互式rebase进行提交。

+2

有点脚本?不应该'git回复'够了吗? – knittl 2010-10-30 10:07:43

+0

是的,你至少需要一个命令才能找到某个特定人的所有提交。这已经是脚本了。 – 2010-10-30 12:52:45

0

我使用TFS和Git。但是,有很多免费和开源的版本控制软件。你可以找到所有的源代码控制软件here

0

在Git中,你可能会做一些像

git revert `git rev-list --author=A` 

[注:没有经过充分测试]

0

我敢打赌,它可以(容易)与Monotone完成通过使用`mtn local kill_certs选择器certname [certval]'命令(参见reference):

此命令删除对指定选择器匹配的修订具有给定名称的证书。如果给定值,它将自己限制为只删除也具有相同值的证书。像kill_revision一样,这是一个非常危险的命令;它会永久且不可撤销地删除数据库中的历史信息。

所以,通过使用A的证书,上面的命令将消除他所做的“错误的工作”。