我们说origin/master
已提交A--B--C
而我的local/master
已提交A--B--D
。
如果我使用git pull --rebase
会怎样?
如果我使用git pull --ff-only
会怎样?
生成的提交树有什么不同吗?
答案 0 :(得分:91)
如果我使用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
仅在可以快速转发时应用远程更改。来自男人:
拒绝合并并以非零状态退出,除非当前HEAD已经是最新的,或者合并可以解析为快进
由于您的本地和远程分支机构存在分歧,因此快进无法解决这些分支,git pull --ff-only
会失败。