Ich bin ein Noob in Git und versuche den Unterschied zwischen git pull
vs zu lernen git rebase
. Kann jemand ein Beispiel geben, wann welche Option verwendet werden soll, da ich der Meinung bin, dass beide den gleichen Zweck erfüllen.
123
Antworten:
git pull
undgit rebase
sind nicht austauschbar, aber sie sind eng miteinander verbunden.git pull
Ruft die neuesten Änderungen des aktuellen Zweigs von einer Fernbedienung ab und wendet diese Änderungen auf Ihre lokale Kopie des Zweigs an. Im Allgemeinen erfolgt dies durch Zusammenführen, dh die lokalen Änderungen werden in die Remote-Änderungen zusammengeführt. Alsogit pull
ist ähnlich wiegit fetch & git merge
.Rebasing ist eine Alternative zum Zusammenführen. Anstatt ein neues Commit zu erstellen, das die beiden Zweige kombiniert, werden die Commits eines der Zweige übereinander verschoben.
Sie können mit rebase anstelle von merge (
git pull --rebase
) ziehen. Die lokalen Änderungen, die Sie vorgenommen haben, werden zusätzlich zu den Remote-Änderungen neu erstellt, anstatt mit den Remote-Änderungen zusammengeführt zu werden.Atlassian verfügt über eine hervorragende Dokumentation zum Zusammenführen und erneuten Basieren .
quelle
Grundsätzlich ziehen Sie einen Remote-Zweig zu Ihrem lokalen, Beispiel:
Zieht den Hauptzweig in Ihr lokales Repository
In diesem Fall werden Ihre lokalen Änderungen über Änderungen gestellt, die von anderen Benutzern remote vorgenommen wurden. Beispielsweise:
SOME-FEATURE
Jetzt möchten Sie seine und Ihre Änderungen in Ihrer lokalen Niederlassung sehen. Dann checken Sie den
master
Zweig aus:dann kannst du ziehen:
und dann gehst du zu deiner Filiale:
und Sie können Rebase durchführen
master
, um die neuesten Änderungen zu erhalten und Ihre Branch Commits an die Spitze zu setzen:Ich hoffe jetzt ist es ein bisschen klarer für dich.
quelle
git fetch
danngit rebase origin/master
.In einer Nussschale :
-> Git Merge: Es werden einfach Ihre und Remote-Änderungen zusammengeführt, wodurch ein weiterer Commit-Verlaufsdatensatz erstellt wird
-> Git Rebase: Damit werden Ihre Änderungen über alle neuen Remote-Änderungen gestellt und der Commit-Verlauf neu geschrieben, sodass Ihr Commit-Verlauf viel sauberer ist als der Git-Merge. Rebase ist eine destruktive Operation. Das heißt, wenn Sie es nicht richtig anwenden, können Sie engagierte Arbeit verlieren und / oder die Konsistenz der Repositorys anderer Entwickler beeinträchtigen.
quelle