Antworten:
Was passiert, wenn ich git pull --rebase verwende?
git pull --rebase
ist ungefähr gleichbedeutend mit
git fetch
git rebase origin/master
Das heißt, Ihre Remote-Änderungen ( C
) werden vor den lokalen Änderungen ( D
) angewendet , was zu folgendem Baum führt
A -- B -- C -- D
Was passiert, wenn ich git pull --ff-only verwende?
Es wird scheitern.
git pull --ff-only
entspricht
git fetch
git merge --ff-only origin/master
--ff-only
Wendet die Remote-Änderungen nur an, wenn sie schnell weitergeleitet werden können. Vom Mann:
Verweigern Sie das Zusammenführen und Beenden mit einem Status ungleich Null, es sei denn, der aktuelle HEAD ist bereits auf dem neuesten Stand oder die Zusammenführung kann als schneller Vorlauf aufgelöst werden
Da Ihre lokalen und Remote-Niederlassungen auseinander gegangen sind, können sie nicht durch einen schnellen Vorlauf gelöst werden und git pull --ff-only
würden fehlschlagen.
A--B--C
.
git pull --rebase --ff-only
tun (vorausgesetzt, es gibt C & D)
pull
können Merge-Commits eingeführt werden, während Sie möglicherweise nur mit Rebase und ff arbeiten möchten.
D
lokale Änderung nicht festgeschrieben wird ? Wären beide Befehle gleichwertig?