Po pierwsze, nie powinieneś modyfikować lokalnej gałęzi master
, powinieneś tylko tworzyć gałęzie. Jeśli trzymać się z lokalnym master
niemodyfikowana, można pobrać najnowsze zmiany z upstream repo:
git remote add upstream <url-for-upstream-repo>
git fetch upstream
Teraz pilot zdalnego śledzenia oddział upstream/master
jest zsynchronizowany z najnowszymi zmianami z upstream
. Opcjonalnie można również aktualizować swój lokalny master
jeśli chcesz:
git checkout master
git merge upstream/master
Teraz można tworzyć oddziały funkcji off upstream/master
:
git checkout -b feature upstream/master
Gdy chcesz zsynchronizować oddziały funkcję przy użyciu najnowszych zmian od upstream
, możesz użyć rebase
, o ile nikt inny nie pracuje również nad gałęzią funkcji (w przeciwnym razie zmuszasz ich do ponownej synchronizacji ze zmienioną historią). rebase
jest rzeczywiście idealnym miejscem dla tego przepływu pracy, ponieważ zazwyczaj można go używać do synchronizacji oddziały fabularnych tak często, jak chcesz, bez tworzenia niechlujny historię, ponieważ nie dopuszcza tworzenie korespondencji seryjnej:
git fetch upstream
git checkout feature
git rebase upstream/master
Można też zamiast git merge upstream/master
zmiany, ale pozostawisz zatwierdzenie scalenia, więc z czasem utworzysz bardziej skomplikowaną historię, scalając zamiast przekierowywania.
Gdy będziesz gotowy do wysłania żądania wyciągnięcia, po prostu naciśnij na swój numer origin
i złóż wniosek przeciwko wcześniejszemu master
.
Oryginalny plakat pyta:
[I] s istnieje sposób, aby utworzyć oddział w moim widelca, który jest doskonały replika mistrza innego pilota?
tak długo, jak miejscowy master
nie odbiegał od upstream/master
(co nie powinno, jeśli już robi swoją pracę w oddziałach fabularnych zamiast bezpośrednio w master
), a potem po prostu push lokalny master
do listy origin
:
git push origin master
Alternatywnie, można użyć refspec do pchania zdalnego śledzenia oddział upstream/master
do origin/master
:
git push origin upstream/master:master
'git pull upstream master: upstream-master'? – Ryan