Wie kann ich den Dateiverlauf in Git ansehen?
-
21-09-2019 - |
Frage
Mit Subversion konnte ich Tortoisesvn verwenden, um den Verlauf/Protokoll einer Datei anzuzeigen.
Wie kann ich das mit Git machen?
Suchen Sie nur nach Verlaufsaufzeichnungen für eine bestimmte Datei und dann die Möglichkeit, die verschiedenen Versionen zu vergleichen.
Lösung
Verwenden git log
die Feststellungsgeschichte zu sehen. Jeder Commit verfügt über einen zugehörigen Revisionsspezifizierer, der ein Hash -Schlüssel ist (z. 14b8d0982044b0c49f7a855e396206ee65c0e787
und b410ad4619d296f9d37f0db3d0ff5b9066838b39
). Um den Unterschied zwischen zwei verschiedenen Commits anzuzeigen, verwenden Sie git diff
Mit den ersten Charakteren der Revisionsspezifizierer beider Commits wie SO:
# 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
Wenn Sie einen Überblick über alle Unterschiede erhalten möchten, die von Commit to Commit geschehen sind, verwenden Sie die Verwendung git log
oder git whatchanged
Mit der Patch -Option:
# 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
Andere Tipps
Sieht so aus, als ob du es willst Git diff und/oder Git -Protokoll. Auch auschecken Gitk
gitk path/to/file
git diff path/to/file
git log path/to/file
Ich benutze gerne gitk name_of_file
Dies zeigt eine schöne Liste der Änderungen, die bei jedem Commit in einer Datei stattgefunden haben, anstatt die Änderungen an allen Dateien anzuzeigen. Erleichtert es einfacher, etwas aufzuspüren, das passiert ist.
Sie könnten auch verwenden Tig Für einen netten, ncurses-basierten Git-Repository-Browser. Um den Verlauf einer Datei anzuzeigen:
tig path/to/file
Mein Liebling ist git log -p <filename>
, die Ihnen eine Geschichte aller Commits der angegebenen Datei sowie der Diffs für jedes Commit geben.
Viele Git -Geschichtsbrowser, einschließlich git log
(und 'Git log --graph'), Gitk (in TCL/TK, Teil von Git), QGit (in QT), TIG (Textmodusschnittstelle zu Git, Verwendung von NCURses), Giggle (in GTK+), Tortoisegit und Git -Cheetah -Unterstützung Pfad begrenzt (z. B. gitk path/to/file
).
Wenn Sie etwas so nah wie möglich an Tortoisevn wollen, könnten Sie nur verwenden Schildkröte.
Tortoisegit liefert auch a Befehlszeilenwerkzeug Um die Geschichte einer Datei zu sehen. Verwenden von PowerShell:
C:\Program` Files\TortoiseGit\bin\TortoiseGitProc.exe /command:log /path:"c:\path\to\your\file.txt"
git log --all -- path/to/file
sollte arbeiten