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
は、早送りできる場合にのみリモートの変更を適用します。男から:
現在のHEADが既に最新であるか、マージが早送りとして解決できる場合を除き、マージを拒否してゼロ以外のステータスで終了します
ローカルブランチとリモートブランチは分岐しているため、早送りでは解決できず、git pull --ff-only
は失敗します。