So synchronisieren Sie Ihre Gabel mit dem Original Git Repository

Sie tragen zu einem Open-Source-Projekt bei und haben festgestellt, dass Ihre Verzweigung nicht mit dem ursprünglichen Repository synchronisiert ist. Wie können Sie das korrigieren?

TL; DR-Version

# Add a new remote upstream repository git remote add upstream //github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git # Sync your fork git fetch upstream git checkout master git merge upstream/master

Fügen Sie ein neues Remote-Upstream-Repository hinzu

Sie haben Ihre Gabel auf Ihren Laptop geklont und begonnen, an Ihrem Problem zu arbeiten.

Wussten Sie, dass Ihre Gabel eine Waise ist? Wenn Sie das konfigurierte Remote-Repository auflisten, wird Ihre Verzweigung nur als Ursprung angezeigt:

git remote -v origin //github.com/YOUR_USERNAME/YOUR_FORK.git (fetch) origin //github.com/YOUR_USERNAME/YOUR_FORK.git (push)

Es gibt keine Anzeichen von Eltern! Wo ist das ursprüngliche Repository?

Wir müssen diese Informationen konfigurieren, um die Familienbeziehung wiederherzustellen, indem wir ein neues Remote-Upstream-Repository hinzufügen:

git remote add upstream //github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git

Du hast die Familie gerettet! Sie können jetzt sowohl das ursprüngliche Repository als auch die Abzweigung sehen:

git remote -v origin //github.com/YOUR_USERNAME/YOUR_FORK.git (fetch) origin //github.com/YOUR_USERNAME/YOUR_FORK.git (push) upstream //github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (fetch) upstream //github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (push)

Synchronisieren Sie Ihre Gabel

Alles ist jetzt eingerichtet. Sie können Ihre Gabel mit nur 2 Befehlen synchronisieren.

Stellen Sie sicher, dass Sie sich im Stammverzeichnis Ihres Projekts und auch im Hauptzweig befinden. Andernfalls können Sie in der Hauptniederlassung auschecken:

git checkout master Switched to branch 'master'

Jetzt müssen Sie die Änderungen aus dem ursprünglichen Repository abrufen:

git fetch upstream remote: Enumerating objects: 16, done. remote: Counting objects: 100% (16/16), done. remote: Compressing objects: 100% (7/7), done. remote: Total 7 (delta 5), reused 0 (delta 0), pack-reused 0 Unpacking objects: 100% (7/7), 1.72 Kio | 160.00 Kio/s, done. From //github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY 909ef5a..0b228a8 master -> upstream/master

Und führen Sie die Änderungen in Ihrem Hauptzweig zusammen:

git merge upstream/master Updating 909ef5a..0b228a8 Fast-forward node.js/WorkingWithItems/batch-get.js | 51 ++++++++++++++++++++++++++------------------------ node.js/WorkingWithItems/batch-write.js | 95 +++++++++++++++++++++++++++++++++++++++++++++++---------------------------------------------- node.js/WorkingWithItems/delete-item.js | 37 ++++++++++++++++++------------------ node.js/WorkingWithItems/get-item.js | 31 +++++++++++++++++-------------- node.js/WorkingWithItems/put-item-conditional.js | 51 +++++++++++++++++++++++++------------------------- node.js/WorkingWithItems/put-item.js | 49 ++++++++++++++++++++++++------------------------ node.js/WorkingWithItems/transact-get.js | 51 ++++++++++++++++++++++++++------------------------ node.js/WorkingWithItems/transact-write.js | 79 ++++++++++++++++++++++++++++++++++++++++------------------------------------- node.js/WorkingWithItems/update-item-conditional.js | 51 ++++++++++++++++++++++++++------------------------ node.js/WorkingWithItems/update-item.js | 47 ++++++++++++++++++++++++---------------------- 10 files changed, 282 insertions(+), 260 deletions(-)

Das ist es! Ihre Gabel ist jetzt auf dem neuesten Stand.

Irgendwelche Fragen? Fühlen Sie sich frei, mich auf Twitter zu kontaktieren!