假设origin/masterhas commitA--B--C和 my local/masterhas commit A--B--D。
origin/master
A--B--C
local/master
A--B--D
如果我使用会发生什么git pull --rebase?
git pull --rebase
如果我使用会发生什么git pull --ff-only?
git pull --ff-only
结果提交树有什么不同吗?
如果我使用 git pull –rebase 会发生什么?
git pull --rebase大致相当于
git fetch git rebase origin/master
即您的远程更改 ( C) 将在本地更改 ( D) 之前应用,从而生成以下树
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会失败。