Du suchst git diff
. Abhängig von Ihrer genauen Situation gibt es drei nützliche Möglichkeiten, sie zu verwenden:
# show differences between index and working tree
# that is, changes you haven't staged to commit
git diff [filename]
# show differences between current commit and index
# that is, what you're about to commit
# --staged does exactly the same thing, use what you like
git diff --cached [filename]
# show differences between current commit and working tree
git diff HEAD [filename]
Es funktioniert rekursiv für Verzeichnisse. Wenn keine Pfade angegeben sind, werden alle Änderungen angezeigt.
[filename]
geben ein optionales Argument an.)*
Wenn Sie die Shell alle Dateien auflisten lassen, erhalten Sie, wenn Sie sich in einem Unterverzeichnis befinden, nur Dinge in diesem Unterverzeichnis (nicht das gesamte Repo), und Sie ' Ich werde Änderungen in versteckten Dateien verpassen.git add -p
ist dies eine Alternative, um alle Dateien zu überprüfen.git diff --staged [filename]
Ihre Hauptantwort hinzuzufügen , da dies eine Situation ist, die häufiger benötigt wird.Verwendung
git-diff
:quelle
git diff filename
quelle
Für mich
git add -p
ist der nützlichste Weg (und beabsichtigt, den ich von Git-Entwicklern denke?), Alle nicht bereitgestellten Änderungen zu überprüfen (es zeigt den Unterschied für jede Datei), eine gute Reihe von Änderungen auszuwählen, die mit einem Commit einhergehen sollten, und dann, wenn Sie dies getan haben inszenieren Sie alle diese, verwenden Sie sie danngit commit
und wiederholen Sie sie für das nächste Commit. Dann können Sie festlegen, dass jedes Commit eine nützliche oder sinnvolle Reihe von Änderungen darstellt, selbst wenn sie in verschiedenen Dateien vorgenommen wurden. Ich würde auch vorschlagen, für jedes Ticket oder eine ähnliche Aktivität einen neuen Zweig zu erstellen und zwischen diesen zu wechselncheckout
(möglicherweise mit,git stash
wenn Sie vor dem Wechsel keine Festschreibung vornehmen möchten). Wenn Sie jedoch viele schnelle Änderungen vornehmen, kann dies schmerzhaft sein. Vergessen Sie nicht, oft zusammenzuführen.quelle
git diff
quelle
Denken Sie daran, dass Sie Änderungen vornehmen , keine Dateien.
Aus diesem Grund ist es sehr selten, dass ich
git add -p
meine Änderungen nicht verwende (oder das Magit-Äquivalent).quelle
Pfad kann Ihr vollständiger Systempfad bis zur Datei sein oder
wenn Sie sich im Projekt befinden, fügen Sie den geänderten Dateipfad auch
für geänderte Dateien mit Pfadverwendung ein:
git status
quelle
Nun, mein Fall, wenn Sie sich nicht um die Dateiliste kümmern möchten. Zeigen Sie ihnen einfach alle.
Wenn Sie bereits
git add
mit Ihrer Dateiliste ausgeführt haben:In neueren Versionen von
git
können Sie auch verwenden--staged
, was ein Synonym für ist--cached
.Das gleiche kann für nicht hinzugefügte Dateien verwendet werden, jedoch ohne
--cached
Option.Git-Befehlsalias für die Option "zwischengespeichert":
quelle
Gehen Sie zu Ihrem jeweiligen Git-Repo und führen Sie den folgenden Befehl aus:
Git Diff Dateiname
Die Datei mit den markierten Änderungen wird geöffnet. Drücken Sie die Eingabetaste, um die Datei nach unten zu scrollen.
Der PS-Dateiname sollte den vollständigen Pfad der Datei enthalten. Andernfalls können Sie ohne den vollständigen Dateipfad in das entsprechende Verzeichnis / den Ordner der Datei gehen
quelle
Sie können auch einen git-freundlichen Texteditor verwenden. Sie zeigen Farben auf den geänderten Linien, eine andere Farbe für hinzugefügte Linien, eine andere Farbe für gelöschte Linien usw.
Ein guter Texteditor, der dies tut, ist GitHubs Atom 1.0 .
quelle