首先,对不起,因为我的英语不好和解释。这是我的问题的编辑版本,在收到一些评论后,我意识到是什么让你感到困惑。
我正在做的这个项目大约有10个人,每个人都会在这个项目中实现一些“工作”。
假设:
A实现了第1、4、6和10项工作。B实现了第2、3、7和9.工作。
A在B实现(7)之前实现(4)。在文件X中,由(4)更改的一些值/行被(7)覆盖。
后来,当我们进行节能评估,发现(4)实际上根本没有节能,所以我们决定采取(4)出局。
所以问题是,如果我们有任何版本控制,可以将(4) (由A实现)取出,而不触及由(7) (由B实现)生成的任何重写的值/行。
换句话说,我只想删除A对工作编号(4)所做的所有更改。A所做的工作1,6,10仍在模型文件中。
现在我们正在使用RCS..。但我不知道RCS是否能做到,怎么做到的?
我在考虑GIT和SVN。我认为SVN更合适,因为项目中的所有数据都放在一个位置(1个文件夹)。我们的服务器是。
如果你经历过这件事,请分享。
再次抱歉,谢谢你抽出时间。
发布于 2011-01-29 08:20:04
对于配置,最好是版本:
,
替换模板文件中的变量。
这条路:
实际配置文件(包含模块使用的值的配置文件)从来没有版本(但总是generated).
如果您无法生成并发修改的文件,那么 are the right solution,这就是为什么SVN或任何DVCS (Git,Mercurial,.)
这将增加合并的开销,以报告从一个分支到另一个分支的一些修改。
你想要的那种选择性合并是一种“负合并”(在这种情况下,你可以逆转一些变化,而不是其他的:也称为subtractive merge)。
Git通过""来处理这个问题,在这里您可以重放提交(您甚至可以修改/更改其中的一个提交重放)。
如果不想重写过去提交的历史,也可以选择git revert。
我不知道RCS将如何处理这个问题,除非您通过手动比较当前版本和A以前的版本来进行新的修订,以便删除正确的行。
发布于 2011-01-29 09:52:45
通常,使用版本控制的方法如下:
< code >F29
注意:
如果更多的开发人员正在更改同一行代码,则会发生冲突-- manually
发布于 2011-01-29 10:39:55
要删除SVN版本(我假设这与git类似),您可以在您的工作副本上使用以下命令行:
svn merge -c -4 .这将消极地将第4版的更改应用于您的工作副本。之后,您可以检查更改并将其提交回存储库。
https://stackoverflow.com/questions/4835823
复制相似问题