2013-03-05 12 views
7

Wie kann ich nur einige Zeilen/ein Teil eines Hunk interaktiv mit git add --patch hinzufügen, wenn Hunk nach der Auswahl split immer noch zu groß angezeigt wird?Hinzufügen eines Teils eines Hunk interaktiv mit Git hinzufügen --patch

@@ -2,9 +2,17 @@ Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed 
diam nonumy eirmod tempor invidunt ut labore et dolore magna 
aliquyam erat, sed diam voluptua. At vero eos et accusam et 
justo duo dolores et ea rebum. Stet clita kasd gubergren, no 
+Ut wisi enim ad minim veniam, quis nostrud exerci tation 
+ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo 
+consequat. Duis autem vel eum iriure dolor in hendrerit in 
+vulputate velit esse molestie consequat, vel illum dolore eu 
+feugiat nulla facilisis at vero eros et accumsan et iusto 
+odio dignissim qui blandit praesent luptatum zzril delenit 
+augue duis dolore te feugait nulla facilisi. 
sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem 
ipsum dolor sit amet, consetetur sadipscing elitr, sed diam 
nonumy eirmod tempor invidunt ut labore et dolore magna 
aliquyam erat, sed diam voluptua. At vero eos et accusam et 
justo duo dolores et ea rebum. Stet clita kasd gubergren, no 
sea takimata sanctus est Lorem ipsum dolor sit amet. 

aktualisieren

als Benutzer SO avivir merkt richtig "split", könnte eine gültige Option sein.

Antwort

14

Wenn Sie nur einen Teil eines großes Stück hinzufügen möchten, können Sie bearbeiten aus dem Menü auswählen, die angezeigt wird:

Stage this hunk [y,n,q,a,d,/,e,?]? 

Dies wird Ihr Editor starten, wo Sie unerwünschte Zeilen aus dem Hunk löschen, die ist kurz davor, zum Index hinzugefügt zu werden. Die Änderung ist virtuell, dh Ihre Datei ändert sich nicht.

+0

sollte auch ein "Split This Hunk" sein Option, die das viel einfacher macht (das Hunk kann in einzelne Zeilen aufgeteilt werden) –

+1

Dies ist eine nützliche Referenz: [Was bedeutet jedes der y, n, q, a, d, /, K, j, J, g , e ,? steht für im Zusammenhang mit git -p] (http://stackoverflow.com/questions/10605405/what-does-each-of-the-ynqadkjjge-stand-for-in-context-of-git-p) – AJP

5

Verwenden Sie die Option 's' (Split) von git add --patch.

Dies wird Git in kleinere Stücke teilen. Sie erhalten dann ein Menü für jeden neuen Hunk (der ein Teil des Originals ist), wo Sie wählen können, ob Sie es inszenieren, weiter aufteilen usw.

+0

I habe vergessen zu sagen "wenn das gespaltene Stück immer noch zu groß ist". Ich werde die Frage aktualisieren, aber Ihre Antwort ist immer noch korrekt und nützlich. –