【发布时间】:2014-10-02 05:44:10
【问题描述】:
我一直在处理不同的存储库并注意到一种不同的行为:在一个项目中,当我将其他人的工作拉入我的项目时,我只是在我的历史记录中获得了他们的提交,而在另一个项目中,当我拉取时,git 会创建一个自动合并提交。在这两种情况下都没有冲突,并且两个存储库都是同一服务器上的裸存储库。
是什么导致 git 在 pull 时添加或不添加此自动合并提交?
【问题讨论】:
我一直在处理不同的存储库并注意到一种不同的行为:在一个项目中,当我将其他人的工作拉入我的项目时,我只是在我的历史记录中获得了他们的提交,而在另一个项目中,当我拉取时,git 会创建一个自动合并提交。在这两种情况下都没有冲突,并且两个存储库都是同一服务器上的裸存储库。
是什么导致 git 在 pull 时添加或不添加此自动合并提交?
【问题讨论】:
git pull 是git fetch 和git merge 的快捷方式。
git merge 将在两个分支分歧时创建一个合并提交(即,您有本地提交并且有远程提交)。
如果您希望它在需要合并提交时失败,您可以使用git pull --ff-only,然后决定是手动合并、变基还是其他。
【讨论】: