git pull是否总是创建一个合并提交?
git pull
是否总是创建一个合并提交?
如果我有一个功能分支,可以使用git pull -r . master
git pull -r . master
,然后我切换到主,并做git pull . feature-branch
git pull . feature-branch
我不认为我得到了合并提交。
你在链接网站上有一个关于git合并和快速转发的好例子。
@MicroVirus给出了一个很好的解释。 在下面,灰色点是拉(提取+合并)之前你本地HEAD的HEAD。 您可以看到两种合并方式之间的区别。
git快速前进http://ariya.ofilabs.com/wp-content/uploads/2013/09/merging.png
另一种使用git pull
来更新repo的方法是使用--rebase
选项。 此选项将您的提交应用于重写历史记录的拉动分支的顶部。 你可以在那里阅读细节。 人们使用git pull
或git pull --rebase
。 在我看来,rebase应该用于bug修复,而应该在将新功能合并到master时使用classic pull。
Git rebase例子
阅读下面的链接,了解不同观点的想法:
git pull VS git fetch + git rebase
git pull和git pull --rebase之间的区别