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!