最近,我们开始使用Git代替CVS。我们有“开发”和“发布”分支。几天前,同事应该创建发布-这意味着将更改从开发分支合并到发布分支。
但是他没有使用merge命令,而是使用了merge命令,而是手动更新了release分支中的所有修改文件(这些文件自上个发行版以来在developer分支中进行了修改),并进行了普通的commit / push(我称之为“ fake-合并”)。
结果,我在分支图中看不到“合并点”。 现在,当尝试将少量修补程序分支(修补程序是从develop分支创建的)合并到发布分支时,Git希望推送自上次发布以来的所有1000多个提交,尽管实际上发布分支具有所有这些更改。
自从伪合并提交以来,发布分支上的更新提交很少,而开发分支上的提交则很多。
该如何解决?是否可以通过某种方式“及时添加合并”?
编辑:
X--D1--D2--...--D1000--DD1--DD2--...---DD10-- ... -- ... -- DD20 (develop branch)
\ "\" \ \ /
\ "\" fake-merge -hotfix--H1--H2-H3
\ "\" \
-R1----------------R2-----------R3-----------------------R4 (release branch)
在R2提交中包括了从D1到D1000的所有更改,但是在git图中,缺少了D1000和R2之间的连接线,因为程序员手动更改了所有文件(因为他曾在cvs中这样做)。使用git merge。
当我尝试创建R4时,我意识到缺少合并-git图形中D1000和R2的连接,因为git现在将推送所有D1-D1000-DD10-H3提交。