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.
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.
Antworten:
git pull
und git 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. Also git pull
ist ähnlich wie git 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 .
git-pull - Abrufen von und Integration in ein anderes Repository oder einen lokalen Zweig GIT PULL
Grundsätzlich ziehen Sie einen Remote-Zweig zu Ihrem lokalen, Beispiel:
git pull origin master
Zieht den Hauptzweig in Ihr lokales Repository
git-rebase - Forward-Port-Local-Commits für den aktualisierten Upstream-Head GIT REBASE
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:
git checkout master
dann kannst du ziehen:
git pull origin master
und dann gehst du zu deiner Filiale:
git checkout SOME-FEATURE
und Sie können Rebase durchführen master
, um die neuesten Änderungen zu erhalten und Ihre Branch Commits an die Spitze zu setzen:
git rebase master
Ich hoffe jetzt ist es ein bisschen klarer für dich.
git fetch
dann git 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.