Właśnie rozwidliłem projekt w Github. Dokonałem modyfikacji i wysłałem żądanie ściągnięcia. Właściciel połączył mój widelec z głównym projektem, a następnie dokonał pewnych modyfikacji. Na razie mój widelec nie jest aktualizowany w głównym projekcie. Brakuje mi modyfikacji, które wprowadził po scaleniu mojego żądania ściągnięcia. Jak mogę zaktualizować swój widelec w projekcie głównym? Czy jest na to sposób w interfejsie internetowym?
Dzięki
Odpowiedzi:
Z założenia rozwidlenie projektu tworzy osobne repozytorium, które nie jest aktualizowane po zmianie oryginalnego repozytorium. Jednak
git
sprawia, że bardzo łatwo aktualizować ręcznie.Potrzebujesz pomocy z trzeciego repozytorium (wystarczy kopia lokalna). Istnieją 3 repo:
git clone [email protected]:your-username/projectname.git
i że wszyscy używają gałęzimaster
.Zakładając, że obecnie „Origin” i „Local” są w tym samym stanie, a „Upstream” wyprzedza o 1 lub więcej zatwierdzeń (scalenie i wszelkie późniejsze zmiany).
Najpierw dodaj projekt nadrzędny jako zdalny program Git :
Następnie pobierz (co oznacza pobierz, a następnie scal automatycznie) zmiany z
master
gałęzi pilota do gałęzi current (master
) lokalnego repozytorium :Teraz Twoje lokalne repozytorium jest zsynchronizowane z
upstream
. Wreszcie, wypchnij lokalne repozytorium do swojego widelca Github:Teraz wszystko jest zsynchronizowane.
źródło
Musisz dodać pilota (zobacz pomoc GitHub ) i pobrać z tego nowego pilota.
źródło
Znalazłem tę odpowiedź jako uzupełnienie oryginalnej odpowiedzi, ponieważ dotyczy ona tylko synchronizacji jednej gałęzi (master). Ponadto, jeśli gałąź została utworzona w górę od czasu rozwidlenia, tworzenie jej na rozwidleniu jest nieco bardziej zaangażowane.
Krótka odpowiedź brzmi: aby zaktualizować widelec przy każdym odgałęzieniu w repozytorium nadrzędnym, wykonaj to polecenie.
Nie robi to usuwania gałęzi z widelca, które zostały usunięte z górnego biegu. Nie ma sposobu, aby to zautomatyzować, szczególnie jeśli utworzyłeś gałęzie na swoim widelcu.
źródło