Sådan synkroniseres din gaffel med det originale Git-arkiv

Du bidrager til et open source-projekt, og du bemærkede, at din gaffel er ude af synkronisering med det originale lager. Hvordan kan du rette op på det?

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

Tilføj et nyt eksternt opstrøms arkiv

Du klonede din gaffel på din bærbare computer og begyndte at arbejde på dit problem.

Vidste du, at din gaffel er forældreløs? Hvis du viser det konfigurerede fjernlager, vil du kun se din gaffel som oprindelse:

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

Der er ingen tegn på forældre! Hvor er det originale lager?

Vi er nødt til at konfigurere disse oplysninger til at gendanne familieforholdet ved at tilføje et nyt eksternt opstrøms arkiv:

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

Du reddede familien! Du kan nu se både det originale lager og gaffelen:

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)

Synkroniser din gaffel

Alt er nu sat op. Du kan synkronisere din gaffel med kun 2 kommandoer.

Vær sikker på at du er i roden af ​​dit projekt og også i mastergrenen. Ellers kan du tjekke ud til mastergrenen:

git checkout master Switched to branch 'master'

Nu skal du hente ændringerne fra det originale lager:

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

Og flet ændringerne i din mastergren:

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(-)

Det er det! Din gaffel er nu opdateret.

Nogen spørgsmål? Du er velkommen til at kontakte mig på Twitter!