git pull –rebase和git pull -ff-only之间的区别
假设origin/master已经提交了A--B--C并且我的local/master已经提交了A--B--D
如果我使用git pull --rebase会发生什么?
如果我使用git pull --ff-only会发生什么?
在生成的提交树中是否有任何区别?
如果我使用git pull –rebase,会发生什么?
git pull --rebase大致相当于
git fetch git rebase origin/master
即您的远程更改( C )将应用于本地更改( D )之前,从而生成以下树
A -- B -- C -- D
如果我使用git pull -ff-only,会发生什么?
它会失败。
git pull --ff-only对应于
git fetch git merge --ff-only origin/master
--ff-only在远程更改可以被快速转发--ff-only应用。 从男人:
拒绝合并并以非零状态退出,除非当前HEAD已经是最新的,或者合并可以被解决为快进
由于你的本地和远程分支已经发生了分歧,它们不能通过快速解决,而且git pull --ff-only失败。