Jak mogę pobrać repozytorium nadrzędne i zastąpić je master? Mam tylko jedną gałąź w moim repozytorium, którą jest master, i całkowicie to zepsułem, więc w zasadzie muszę zacząć od początku. Myślę, że init wykona zadanie, ale czy jest łatwiejszy sposób?
Są (przynajmniej) dwie rzeczy, które możesz tutaj zrobić - możesz ponownie klonować zdalne repozytorium lub możesz reset --harddo wspólnego przodka, a następnie wykonać wyciągnięcie, które spowoduje przewinięcie do najnowszego zatwierdzenia na zdalnym serwerze głównym.
Aby być konkretnym, oto proste rozszerzenie oryginalnej odpowiedzi Nevika Rehnela:
UWAGA : użycie git reset --hardspowoduje odrzucenie wszelkich niezatwierdzonych zmian i może być łatwo pomylić się z tym poleceniem, jeśli dopiero zaczynasz korzystać z git, więc upewnij się, że masz pojęcie, co zrobi, zanim przejdziesz dalej.
Więcej pomocy dla nowicjuszy: git gcsprząta i zajmuje się sprzątaniem. Z drugiej strony, nigdy nie biegałem git gc. Miło jest biegać, ale nie jest potrzebne.
następnie zrób porządki za pomocą git gc(więcej na ten temat w podręcznikach)
Aktualizacja: Prawdopodobnie będziesz musiał również zrobić git fetch origin(lub git fetch origin masterjeśli chcesz tylko tę gałąź); nie powinno mieć znaczenia, czy zrobisz to przed, czy po resecie. (Dzięki @ eric-walker)
git reset <hash> # you need to know the last good hash, so you can remove all your local commits
git fetch upstream
git checkout master
git merge upstream/master
git push origin master -f
voila, teraz twój fork powrócił do tego samego, co upstream.
W końcu zdałem sobie sprawę, że zamiast git fetch --all && git reset --hard origin/mastertego powinno być git fetch --all && git reset --hard origin/<branch_name>, zamiast tego (jeśli pracuje się na innej gałęzi)
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.
git gcsprząta i zajmuje się sprzątaniem. Z drugiej strony, nigdy nie biegałemgit gc. Miło jest biegać, ale nie jest potrzebne.