假设
使用
使用
结果提交树上是否有任何差异?
origin/master
有提交,而我的local/master
有提交。使用
git pull --rebase
会发生什么?使用
git pull --ff-only
会发生什么?结果提交树上是否有任何差异?
origin/master
有提交,而我的local/master
有提交。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
选项只有在远程分支可以进行快进合并时才应用远程更改。来自 man 手册的描述:
拒绝合并,并以非零状态退出,除非当前 HEAD 已经是最新的,或者合并可以解析为一个快进合并
由于您的本地分支和远程分支已经分叉,它们不能通过快进合并解决,使用 git pull --ff-only
将失败。
D
,会发生什么?这两个命令是否等价? - NicoA--B--C
的结果。 - Gabriele Petronellagit pull --rebase --ff-only
会做什么? - Refael Ackermannpull
会引入合并提交,而你可能更喜欢仅使用rebase和ff进行工作。 - Gabriele Petronella