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
失败。