Z Subversion mogłem użyć TortoiseSVN do przeglądania historii / dziennika pliku.
Jak mogę to zrobić za pomocą Git?
Po prostu wyszukuję zapis historii dla konkretnego pliku, a następnie możliwość porównania różnych wersji.
Odpowiedzi:
Służy git logdo przeglądania historii zmian. Z każdym zatwierdzeniem powiązany jest specyfikator zmiany, którym jest klucz mieszający (np. 14b8d0982044b0c49f7a855e396206ee65c0e787I b410ad4619d296f9d37f0db3d0ff5b9066838b39). Aby zobaczyć różnicę między dwoma różnymi zatwierdzeniami, użyj git diffz kilkoma pierwszymi znakami specyfikatorów wersji obu zatwierdzeń, na przykład:
# diff between commits 14b8... and b410...
git diff 14b8..b410
# only include diff of specified files
git diff 14b8..b410 path/to/file/a path/to/file/b
Jeśli chcesz uzyskać przegląd wszystkich różnic, które miały miejsce od zatwierdzenia do zatwierdzenia, użyj git loglub git whatchangedz opcją poprawki:
# include patch displays in the commit history
git log -p
git whatchanged -p
# only get history of those commits that touch specified paths
git log path/a path/b
git whatchanged path/c path/d
Lubię używać gitk name_of_file
To pokazuje ładną listę zmian, które zaszły w pliku przy każdym zatwierdzeniu, zamiast pokazywać zmiany we wszystkich plikach. Ułatwia wytropienie czegoś, co się wydarzyło.
możesz także użyć tig do ładnej przeglądarki repozytorium git opartej na ncurses. Aby wyświetlić historię pliku:
tig path/to/file
Wiele przeglądarek historii Git, w tym git log(i 'git log --graph'), gitk (w Tcl / Tk, część Git), QGit (w Qt), tig (interfejs trybu tekstowego do git, używając ncurses), Giggle (w GTK +), TortoiseGit i git-cheetah obsługują ograniczanie ścieżek (np gitk path/to/file.).
Oczywiście, jeśli chcesz czegoś tak bliskiego TortoiseSVN, jak to tylko możliwe, możesz po prostu użyć TortoiseGit .
git log --all -- path/to/file powinno działać
TortoiseGit zapewnia również narzędzie wiersza poleceń, aby zobaczyć historię pliku. Korzystanie z programu PowerShell:
C:\Program` Files\TortoiseGit\bin\TortoiseGitProc.exe /command:log /path:"c:\path\to\your\file.txt"