我正在使用两个分支,master
和newFeature
。在构建“新功能”时,我向newFeature
分支添加了多个提交。我对git merge
的理解是,一旦合并了分支,它将在master
上创建一个单个提交,但是当合并时,master
现在具有在newFeature
上的完整提交历史。对于示例 -为什么Git合并在主分支上创建多个提交?
master (pre-merge):
1=>2=>3
newVersion:
1=>2=>3=>4=>5=>6
master (actual results of merge):
1=>2=>3=>4=>5=>6
master (expected results of merge):
1=>2=>3=>6
有什么办法去除中介在合并过程中从newVersion
承诺,并如预期为什么不合并工作?
'git merge'创建一个新的提交,如果需要的话,但**它不会删除任何现有的提交**。在你的情况下,它没有创建任何新的提交。它只是移动'master'分支来指向'newVersion'分支已经指向的提交。发生这种情况是因为两个分支实际上并没有发生分歧,并且没有必要进行新的提交。 – axiac
您可以将您的newVersion分支重新绑定到一个提交中。 – Tom