Pobieranie nowych aktualizacji z oryginalnego repozytorium GitHub do rozwidlonego repozytorium GitHub
Rozwidlałem czyjeś repozytorium na Githubie i chciałbym zaktualizować moją wersję o commity i aktualizacje wykonane w oryginalnym repozytorium. Zostały zrobione po rozwidleniu mojej kopii.
Jak mogę pobrać zmiany, które zostały wprowadzone w origin i włączyć je do mojego repozytorium?
5 answers
Musisz dodać oryginalne repozytorium (to, które rozwidlałeś) jako zdalne.
Ze strony podręcznika GitHub Fork :
Gdy klon zostanie ukończony, Twój repo będzie miał pilota o nazwie "
origin
", który wskazuje na Twój fork na Githubie.
Nie pozwól, aby nazwa Cię zmyliła, nie wskazuje to na oryginalny repo, z którego się rozwidlałeś. Aby pomóc ci śledzić ten repo, dodamy kolejny zdalny o nazwie "upstream":
$ cd github-services
$ git remote add upstream git://github.com/pjhyett/github-services.git
$ git fetch upstream
# then: (like "git pull" which is fetch + merge)
$ git merge upstream/master master
# or, better, replay your local work on top of the fetched branch
# like a "git pull --rebase"
$ git rebase upstream/master
Masz również Ruby gem, który może ułatwić operacje na Githubie .
Zobacz także " Git fork is git clone?".
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:10:47
Oprócz odpowiedzi VonC, możesz jeszcze bardziej dostosować ją do swoich upodobań.
Po pobraniu ze zdalnej gałęzi, nadal będziesz musiał scalić commity. Zamieniłbym
$ git fetch upstream
Z
$ git pull upstream master
Ponieważ git pull jest zasadniczo git fetch + git merge.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-11-26 23:07:42
Ten wideo pokazuje Jak zaktualizować fork bezpośrednio z GitHub
Kroki:
- Otwórz Widelec na Githubie.
- Kliknij na
Pull Requests
. - Kliknij na
New Pull Request
. Domyślnie GitHub porównuje oryginał z Twoim forkiem i nie powinno być nic do porównania, jeśli nie wprowadziłeś żadnych zmian. - Kliknij na
switching the base
. Teraz GitHub porówna Twój fork z oryginałem i powinieneś zobaczyć wszystkie najnowsze zmiany. - Kliknij na
Create a pull request
aby to porównać i przypisać przewidywalną nazwę do żądania pull (np. aktualizacja z oryginału). - Kliknij na
Create pull request
. - przewiń w dół i kliknij
Merge pull request
i na koniecConfirm
połącz. Jeśli twój fork nie miał żadnych zmian, będziesz mógł połączyć go automatycznie.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-06-30 07:56:02
Użycie:
git remote add upstream ORIGINAL_REPOSITORY_URL
To ustawi Twój upstream do repozytorium, z którego się rozwidlałeś. Więc zrób to:
git fetch upstream
Spowoduje pobranie wszystkich gałęzi łącznie z master z oryginalnego repozytorium.
Połącz te dane w lokalnej gałęzi master:
git merge upstream/master
Przesuń zmiany do rozwidlonego repozytorium tj. do origin:
git push origin master
Voila! Koniec z synchronizacją oryginalnego repozytorium.Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-02-14 03:19:08
Jeśli używasz aplikacji GitHub desktop, w prawym górnym rogu znajduje się przycisk synchronizacji. Kliknij na nią, a następnie Update from <original repo>
w pobliżu lewego górnego rogu.
Jeśli nie ma zmian do zsynchronizowania, będzie to nieaktywne.
Oto kilka zrzutów ekranu aby to ułatwić.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-01-19 03:42:11