有一个项目是由以前的程序员执行的,没有任何版本控制系统。现在这个项目正在交给我进行大规模的重构。同时,前任程序员将从事本项目目前的支持和发现的bug的修正。
如果我很幸运,那么在我发现每个错误之后,我都会得到一组新的资源。如果你不走运,那我就每两周得到一次。
问题:如何将收到的更改合并到我的项目分支中?
有一个想法,使两个分支old
,new
。自己领导分支new
,并将产生的资源倒入分支old
中。然后在两个提交之间形成一个差异old
并将这个差异倒入new
. 但如果我理解正确,只要其中一个分支中的行号发生变化,diff 就会停止滚动。还是我错了?
一般来说,我想知道如何解决这个问题?理想情况下在 svn 上。如果没有,我可以部署任何其他版本控制系统。
我认为您在评论中发表了很多有用的评论。
我会加入这句话“用测试覆盖所有代码,就像用蛋黄酱做鲱鱼一样”。
我曾经遇到过我项目中的分支在SVN中停止合并的情况(不多,大约10万行),这是切换到git的最后一根稻草(这已经是七年前的事了)。
我将如何解决 git 中的问题:
您可以从 svn 那里导入历史记录。这就是我搬家时所做的。关于这个主题有大量的教程,而且似乎 github 甚至支持导入这样的存储库。但是如果到目前为止还没有使用过vcs,这与您无关。
当你有一个“当前的主人” - 然后你在两个方向上工作:
其余的 - 当分支合并回主分支时自然发生:在大多数情况下,它们是自动合并的,有时 - 当出现冲突时 - 您必须在合并之前用眼睛查看并编辑源。
但是git的合并能力整体感觉还是很不错的。