Ich schreibe selektiv Teile einer großen Datei fest und möchte mehr Kontext um jedes Stück sehen. Ist das möglich?
Ich schreibe selektiv Teile einer großen Datei fest und möchte mehr Kontext um jedes Stück sehen. Ist das möglich?
Antworten:
Kurze Antwort: nein.
git diffhat die -U<n>Option, mit der Sie die Anzahl der Zeilen anpassen können, die um eine Änderung herum angezeigt werden sollen. Zum Beispiel git diff -U5 ...werden 5 Kontextzeilen angezeigt. Soweit ich das beurteilen kann, gibt es im interaktiven Modus keine solche Option für die Diff-Anzeige.
git diff -U<n>auf beiden Seiten jeder geänderten Zeile verwendet wird. Wenn Sie also eine Zeile geändert haben, git diff -U5werden Ihnen 11 Zeilen
git diffnicht für git add --patchodergit add --interactive
Zur Bestätigung ist dies 2019 noch nicht möglich.
Ein externes Tool wie jjlee/git-meld-indexkann helfen:
git-meld-indexläuftmeld- oder jede andere git difftool (kdiff3,diffuseusw.) - Sie interaktiv Bühne Änderungen an den git - Index (auch als git Staging - Bereich bekannt) zu ermöglichen.
Dies ähnelt der Funktionalität von git add -p, und git add --interactive.
In einigen Fällen ist das Melden einfacher / schneller als
git add -pdie Staging-Funktion in Tools wiegit gui.
Das liegt daran, dass Sie mit meld beispielsweise Folgendes tun können:
- mehr Kontext sehen ,
- siehe Intra-Line-Unterschiede
- von Hand bearbeiten und 'live' Diff-Updates sehen (aktualisiert nach jedem Tastendruck)
- Navigieren Sie zu einer Änderung, ohne
nzu jeder Änderung, die Sie überspringen möchten , ' ' zu sagen
-U<infinity>Option, um die gesamte Datei anzuzeigen? (Oder ist eine große Zahl „gut genug“?)