Przeglądanie historii zmian w pliku przy użyciu wersjonowania Git

Jak mogę wyświetlić historię zmian pojedynczego pliku w Git, z pełnymi szczegółami co się zmieniło?

Dotarłem tak daleko jak:

git log -- [filename]

który pokazuje mi historię commitów dla pliku, ale jak mogę dostać się do zawartości każdej z tych zmian?

Próbuję dokonać przejścia z MS SourceSafe i to było proste kliknięcie prawym przyciskiem myszypokaż historię.

Można użyć

git log -p filename

aby git generował poprawki dla każdego wpisu w dzienniku.

Zobacz

git help log

aby uzyskać więcej opcji - to naprawdę może zrobić wiele fajnych rzeczy :) Aby uzyskać tylko diff dla konkretnego commitu możesz

git show HEAD 

lub dowolną inną rewizję według identyfikatora. Lub użyć

gitk

aby przeglądać zmiany wizualnie.

Komentarze (10)

git whatchanged -p filename jest również równoważne git log -p filename w tym przypadku.

Możesz także zobaczyć kiedy konkretna linia kodu wewnątrz pliku została zmieniona za pomocą git blame filename. Spowoduje to wyświetlenie krótkiego id commit'u, autora, timestamp'u i pełnej linii kodu dla każdej linii w pliku. Jest to bardzo przydatne po znalezieniu błędu i chcesz wiedzieć kiedy został on wprowadzony (lub czyja to była wina).

Komentarze (2)

Jeśli używasz git GUI (w Windows) w menu Repozytorium możesz użyć "Wizualizacji historii mistrza". Podświetl commit w górnym panelu i plik w prawym dolnym, a zobaczysz diff dla tego commitu w lewym dolnym.

Komentarze (2)