小编典典

git pull --rebase 和 git pull --ff-only 的区别

all

假设origin/masterhas commitA--B--C和 my local/masterhas commit A--B--D

如果我使用会发生什么git pull --rebase

如果我使用会发生什么git pull --ff-only

结果提交树有什么不同吗?


阅读 118

收藏
2022-08-05

共1个答案

小编典典

如果我使用 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会失败。

2022-08-05