Ich weiß, dass ich den Befehl git diff
verwenden kann, um die Änderungen zu überprüfen, aber soweit ich verstanden habe, ist er verzeichnisbasiert. Das bedeutet, dass er alle Änderungen an allen Dateien im aktuellen Verzeichnis anzeigt.
Wie kann ich nur die Änderungen in einer bestimmten Datei überprüfen? Angenommen, ich habe die Dateien Datei_1.rb
, Datei_2.rb
, ..., Datei_N.rb
geändert, aber ich bin nur an den Änderungen in der Datei Datei_2.rb
interessiert. Wie überprüfe ich diese Änderungen dann (bevor ich sie übertrage)?
Verwenden Sie einen Befehl wie:
git diff file_2.rb
Siehe die git diff
-Dokumentation für vollständige Informationen über die Arten von Dingen, für die Sie Unterschiede erhalten können.
Normalerweise zeigt git diff
selbst alle Änderungen im gesamten Repository an (nicht nur im aktuellen Verzeichnis).
Sie können gitk [Dateiname]
verwenden, um das Änderungsprotokoll zu sehen
Eine andere Methode (erwähnt in [dieser SO-Antwort] (https://stackoverflow.com/a/5493663/1505416)) hält die Historie im Terminal fest und gibt Ihnen eine sehr tiefe Aufzeichnung der Datei selbst:
git log --follow -p -- file
Hier wird die gesamte Geschichte der Datei angezeigt (einschließlich der Geschichte jenseits von Umbenennungen und mit Diffs für jede Änderung).
Mit anderen Worten, wenn die Datei mit dem Namen bar einmal foo hieß, dann zeigt git log -p bar (ohne die Option --follow) nur die Historie der Datei's bis zu dem Punkt, an dem sie umbenannt wurde -- sie gewann't zeigt die Historie der Datei's, wenn sie als foo bekannt war. Die Verwendung von git log --follow -p bar zeigt die gesamte Historie der Datei an, einschließlich aller Änderungen an der Datei, als sie als foo bekannt war.
Sie können Folgendes ausführen
git status -s
Dies zeigt die geänderten Dateinamen an, und durch Kopieren des interessierenden Dateipfads können Sie die Änderungen mit git diff
sehen.
git diff <filepath + filename>
Sie können auch versuchen
git show <filename>
Bei Commits zeigt git show die Logmeldung und den textlichen Unterschied (zwischen Ihrer Datei und der committen Version der Datei).
Sie können [git show Dokumentation][1] für weitere Informationen überprüfen.
um nur Commit-Details für bestimmte Dateiänderungen aufzulisten,
git log --follow file_1.rb
um Unterschiede zwischen verschiedenen Commits für dieselbe Datei aufzulisten,
git log -p file_1.rb
um nur Commit und seine Botschaft aufzulisten,
git log --follow --oneline file_1.rb
Oder wenn Sie es vorziehen, Ihr eigenes Gui-Tool zu verwenden:
git difftool ./filepath
Sie können Ihr Gui-Tool mit Hilfe dieses Beitrags einstellen: [https://stackoverflow.com/questions/255202/how-do-i-view-git-diff-output-with-a-visual-diff-program][1]
[1]: https://stackoverflow.com/questions/255202/how-do-i-view-git-diff-output-with-a-visual-diff-program