Odpowiedzi:
Służy git checkout <sha1>
do sprawdzania konkretnego zatwierdzenia.
git log
pokazuje teraz tylko pierwszy zatwierdzenie, czy mogę znaleźć sha1 następnego zatwierdzenia?
git log --oneline
i wkleić dane wyjściowe do pliku tekstowego w celach informacyjnych (zapewnione przez to skrócone sumy sha1 są unikalne). Inną opcją, jeśli twoja historia jest liniowa, jest ustalenie, ile jest zatwierdzeń od pierwszego zatwierdzenia master
i użycia git checkout master~543
(jeśli jest 543 zatwierdzeń), a następnie git checkout master~542
itd.
Aby przejść do konkretnej wersji / zatwierdzenia, uruchom następujące polecenia. KOD HASŁA, z którego możesz uzyskaćgit log --oneline -n 10
git reset --hard HASH-CODE
Uwaga - Po zresetowaniu do konkretnej wersji / zatwierdzenia możesz uruchomić git pull --rebase
, jeśli chcesz przywrócić wszystkie zatwierdzenia, które są odrzucane.
reset
nie tylko kasa konkretny punkt na wykresie będzie również Najedź aktualnie wyrejestrowany oddział
reset
wszystkie oczekujące zmiany zostaną odrzucone.
git pull --rebase
działa tylko wtedy, gdy masz pilota do repozytorium i jest aktualny.
Możesz uzyskać graficzny widok historii projektu za pomocą narzędzi takich jak gitk
. Po prostu biegnij:
gitk --all
Jeśli chcesz pobrać konkretny oddział:
git checkout <branch name>
Dla konkretnego zatwierdzenia użyj skrótu SHA1 zamiast nazwy gałęzi. (Zobacz Treeishes w Git Community Book , który jest dobrym tekstem , aby zobaczyć inne opcje nawigacji po drzewie).
git log
ma cały zestaw opcji do wyświetlania szczegółowej lub podsumowującej historii.
Nie wiem, jak łatwo przejść do przodu w historii zatwierdzeń. Projekty o historii liniowej prawdopodobnie nie są tak powszechne. Pomysł „rewizji” takiej jak w przypadku SVN lub CVS nie odwzorowuje tak dobrze w Git.
Używając klucza SHA1 zatwierdzenia, możesz wykonać następujące czynności:
Najpierw znajdź zatwierdzenie, które chcesz dla określonego pliku:
git log -n <# commits> <file-name>
To, w oparciu o twoje <# commits>
, wygeneruje listę zatwierdzeń dla określonego pliku.
Wskazówka: Jeśli nie jesteś pewien, co popełnić szukasz, to dobry sposób, aby dowiedzieć się za pomocą następującego polecenia: git diff <commit-SHA1>..HEAD <file-name>
. To polecenie pokaże różnicę między bieżącą wersją zatwierdzenia a poprzednią wersją zatwierdzenia dla określonego pliku.
UWAGA: klucz SHA1 zatwierdzenia jest sformatowany na git log -n
liście jako:
popełnić
<SHA1 id>
Po drugie, sprawdź żądaną wersję:
Jeśli znalazłeś żądaną wersję zatwierdzenia / wersji, po prostu użyj polecenia: git checkout <desired-SHA1> <file-name>
Spowoduje to umieszczenie wersji pliku określonej w obszarze testowym. Aby usunąć go z obszaru przeciwności, wystarczy użyć polecenia:reset HEAD <file-name>
Aby powrócić do miejsca, w którym wskazuje zdalne repozytorium, wystarczy użyć polecenia: git checkout HEAD <file-name>
Byłem w sytuacji, gdy mamy gałąź master, a następnie kolejną gałąź o nazwie 17.0, a wewnątrz tej wersji 17.0 był hash zatwierdzania, nie mówiąc „XYZ” . A klient otrzymuje wersję do tej wersji XYZ. Teraz natrafiliśmy na błąd, który należy rozwiązać dla tego klienta. Musimy więc utworzyć osobny oddział dla tego klienta, aż do skrótu „xyz”. Oto jak to zrobiłem.
Najpierw utworzyłem folder z tą nazwą klienta na moim komputerze lokalnym. Powiedz, że nazwa klienta to „AAA” po utworzeniu tego folderu, wydaj następujące polecenie w tym folderze:
Jednym ze sposobów byłoby utworzenie wszystkich zatwierdzeń kiedykolwiek dokonanych dla łatek. sprawdź początkowe zatwierdzenie, a następnie po przeczytaniu zastosuj łaty w kolejności.
użyj, git format-patch <initial revision>
a następnie git checkout <initial revision>
. powinieneś dostać stos plików w swoim reżyserze, zaczynając od czterech cyfr, które są łatkami.
kiedy skończysz czytać swoją wersję, po prostu rób, git apply <filename>
co powinno wyglądać
git apply 0001-*
i liczyć.
Ale naprawdę zastanawiam się, dlaczego nie chcesz po prostu przeczytać samych poprawek? Proszę zamieść to w swoich komentarzach, ponieważ jestem ciekawy.
Podręcznik git daje mi to również:
git show next~10:Documentation/README
Pokazuje zawartość pliku Documentation / README, ponieważ były one obecne w 10. ostatnim zatwierdzeniu oddziału w następnej kolejności.
możesz również zajrzeć na stronę, git blame filename
która daje listę, w której każda linia jest powiązana z hashem zatwierdzającym + autorem.
Aby dostać się do określonego zatwierdzonego kodu, potrzebujesz kodu skrótu tego zatwierdzenia. Możesz uzyskać ten kod skrótu na dwa sposoby:
git log
i sprawdź swoje ostatnie zatwierdzenia w tym oddziale. Pokaże ci kod skrótu twojego zatwierdzenia i wiadomość, którą zostawiłeś podczas zatwierdzania kodu. Po prostu skopiuj, a następnie zróbgit checkout commit_hash_code
Po przejściu do tego kodu, jeśli chcesz nad nim popracować i wprowadzić zmiany, powinieneś utworzyć kolejną gałąź git checkout -b <new-branch-name>
, w przeciwnym razie zmiany nie zostaną zachowane.
git log -n1
. Ale jeśli sięgit checkout
nie powiedzie, to strata wysiłku.