Git: Mehr Kontext anzeigen bei Verwendung von git add -i oder git add -e?

99

Ich schreibe selektiv Teile einer großen Datei fest und möchte mehr Kontext um jedes Stück sehen. Ist das möglich?

Shawn J. Goff
quelle

Antworten:

127

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.

Hammar
quelle
7
Gibt es eine -U<infinity>Option, um die gesamte Datei anzuzeigen? (Oder ist eine große Zahl „gut genug“?)
titaniumdecoy
2
Ich möchte erwähnen, dass die Nummer in 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
angezeigt
4
Dies ist für git diffnicht für git add --patchodergit add --interactive
0xcaff
1
@titaniumdecoy, ich habe das als separate Frage gepostet stackoverflow.com/questions/28727424/…
Aleksandr Levchuk
3
Immer noch keine Lösung?
Vitaly Zdanevich
2

Zur Bestätigung ist dies 2019 noch nicht möglich.

Ein externes Tool wie jjlee/git-meld-indexkann helfen:

git-meld-indexläuft meld- 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 wie git 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
VonC
quelle