Wyświetla wszystkie zatwierdzenia (we wszystkich gałęziach) dla danego pliku


96

To pytanie jest ściśle związane z List all commits dla określonego pliku, ale jest inne. Chcę się dowiedzieć, które zmiany we wszystkich gałęziach zmodyfikowały dany plik.

Aby było bardziej skomplikowane, podany plik może, ale nie musi, znajdować się w drzewie roboczym.

Odpowiedzi:


118

Spróbuj tego:

git log --all -- path

8
Nb. możesz potrzebować --full-historyopcji, w zależności od tego, co chcesz dokładnie zobaczyć: zobacz sekcję o uproszczeniu historii na stronach podręcznika git-log lub gitrevisions.
Jakub Narębski

Zdecydowanie poprawna odpowiedź, zakładając, że nie chcesz używać GUI.
Matt Setter,

55

Możesz użyć gitk

gitk --all <path to file> (you need to install gitk)

na przykład

gitk --all -- /home/kit.ho/project/abc.txt


1
Nie wiem, dlaczego moja odpowiedź została odrzucona, ale twoje nie uważa, że ​​pytanie dotyczy konkretnie dziennika we wszystkich oddziałach. Podajesz tylko odpowiedź, z którą program operacyjny już się łączy.
manojlds

2
Nie byłem zwolennikiem przeciwnika, ale to wymaga --allczegoś podobnego, aby przejść przez więcej historii niż obecna gałąź.
wjl

Dlaczego głosy przeciw? Działa to doskonale. Obie odpowiedzi są prawidłowe. Jedna działa dla konsoli tekstowej, druga dla GUI gitk. Czy mogę zaznaczyć oba jako prawidłowe?
Saurabh Nanda,

@Saurabh Nanda: Zaznacz tę, którą uważasz za przydatną.
Kit Ho,

@saurabh - ta odpowiedź została zmieniona. Kit Ho - Wspomnij, że edytujesz. I sprawia, że ​​wygląda na to, że obie odpowiedzi były pierwotnie poprawne.
manojlds

49

Wiersz poleceń

Gorąco polecam dodanie opcji wykresu z logiem git:

git log --graph --all -- <filename>

git log --graph --all - <nazwa pliku>

Gui

Gitk jest dość starym narzędziem i nie zawsze jest instalowane, polecam inne darmowe narzędzie, takie jak np. SourceTree:

SourceTree


7
Jak zarejestrować plik i wyświetlić jego wykres gałęzi w SourceTree? Kliknij plik prawym przyciskiem myszy i wybierz opcję „Wybrano dziennik ...” nie wyświetla historii we wszystkich gałęziach.
aleung
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.