Jak zaktualizować rozwidlone repozytorium GitHub o zmiany ze zdalnego repozytorium nadrzędnego
Instrukcje z GitHub Help:
Konfigurowanie zdalnego widelca
Synchronizowanie widelca
Instrukcje konfiguracji / obsługi:
Otwórz Git Bash (Windows) lub Linux / Mac Terminal
Jeśli nie sklonowałeś jeszcze swojego repozytorium, musisz przejść do katalogu roboczego folderu programistycznego i sklonować go na stacji roboczej.
$ git clone https://github.com/YOUR_USERNAME/YOUR_FORK.git
Przejdź do katalogu roboczego rozwidlonego repozytorium na stacji roboczej.
$ cd /user/development/my_forked_repo/
Wyświetl bieżące skonfigurowane zdalne repozytorium dla swojego widelca.
$ git remote -v
origin https://github.com/YOUR_USERNAME/YOUR_FORK.git (fetch)
origin https://github.com/YOUR_USERNAME/YOUR_FORK.git (push)
Określ nowe zdalne repozytorium nadrzędne, które zostanie zsynchronizowane z rozwidleniem.
$ git remote add upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git
Sprawdź nowe repozytorium nadrzędne, które określiłeś dla swojego widelca.
$ 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)
Pobierz gałęzie i odpowiednie zatwierdzenia z repozytorium nadrzędnego. Zatwierdzenia do master będą przechowywane w lokalnym oddziale, upstream / master.
$ git fetch upstream
remote: Counting objects: 75, done.
remote: Compressing objects: 100% (53/53), done.
remote: Total 62 (delta 27), reused 44 (delta 9)
Unpacking objects: 100% (62/62), done.
From https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY
* [new branch] master -> upstream/master
Sprawdź lokalny oddział główny widelca.
$ git checkout master
Switched to branch 'master'
Scal zmiany z nadrzędnego / nadrzędnego do lokalnego oddziału nadrzędnego. Spowoduje to zsynchronizowanie głównej gałęzi widelca z repozytorium nadrzędnym, bez utraty lokalnych zmian.
$ git merge upstream/master
Updating a422352..5fdff0f
Fast-forward
README | 9 -------
README.md | 7 ++++++
2 files changed, 7 insertions(+), 9 deletions(-)
delete mode 100644 README
create mode 100644 README.md
Jeśli Twój lokalny oddział nie ma żadnych unikalnych zatwierdzeń, Git zamiast tego wykona „przewijanie do przodu”:
$ git merge upstream/master
Updating 34e91da..16c56ad
Fast-forward
README.md | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
Musisz teraz przesunąć commits do swojego widelca.
$ git push
Jeśli nie jesteś jeszcze uwierzytelniony, pojawi się monit o podanie nazwy użytkownika / hasła github. Po uwierzytelnieniu nowe zatwierdzenia powinny zostać wypchnięte do widelca i widoczne na github.