Contribuiți la un proiect open-source și ați observat că furca dvs. nu este sincronizată cu depozitul original. Cum poți corecta asta?

TL; versiunea DR

# Add a new remote upstream repository
git remote add upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git

# Sync your fork
git fetch upstream
git checkout master
git merge upstream/master

Adăugați un nou depozit în amonte la distanță

V-ați clonat furca pe laptop și ați început să lucrați la problema dvs.

Știați că furca dvs. este orfană? Dacă listați depozitul configurat la distanță, veți vedea furca doar ca origine:

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

Nu există semne ale părinților! Unde este depozitul original?

Trebuie să configurăm aceste informații pentru a restabili relația de familie prin adăugarea unui nou depozit în amonte la distanță:

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

Ai salvat familia! Acum puteți vedea atât depozitul original, cât și furculița:

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

Sincronizați furca

Acum totul este pregătit. Puteți sincroniza furca cu doar 2 comenzi.

Asigurați-vă că sunteți în rădăcina proiectului dvs. și, de asemenea, în ramura principală. În caz contrar, puteți accesa filiala principală:

git checkout master
Switched to branch 'master'

Acum, trebuie să preluați modificările din depozitul original:

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 https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY
   909ef5a..0b228a8  master     -> upstream/master

Și combinați modificările din filiala dvs. principală:

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

Asta e! Furca dvs. este acum actualizată.

Alte intrebari? Nu ezitați să mă contactați pe Stare de nervozitate!