Wofür steht jedes der [y, n, q, a, d, /, K, j, J, g, e?] Im Kontext von git -p


272

Wenn Sie den -p-Modus von verwenden git add -poder git stash -pwofür steht jeder der Buchstaben?

Ich vermute yja und nnein. Was ist der Rest?

[y, n, q, a, d, /, K, j, J, g, e?]


64
Wenn Sie die ?Option versuchen , werden Sie herausfinden
Abe Voelker

7
Vielleicht müssen Sie nur ein bisschen nach oben scrollen?
Cosimo

1
Der Ausdruck in der akzeptierten Antwort enthält Optionen, die bei der Eingabe von '?' Nicht aufgeführt sind.
Mark

Antworten:


325

Der -pModus bedeutet Patch, dessen Hilfe schwer zu finden ist. Wenn Sie dies jedoch überprüfen git add --help, finden Sie Folgendes

   patch
       This lets you choose one path out of a status like selection. After choosing the path, it presents the diff between the index and the working tree file and asks you if you want to stage the change of each hunk. You can select one of the following options and type return:

           y - stage this hunk
           n - do not stage this hunk
           q - quit; do not stage this hunk nor any of the remaining ones
           a - stage this hunk and all later hunks in the file
           d - do not stage this hunk nor any of the later hunks in the file
           g - select a hunk to go to
           / - search for a hunk matching the given regex
           j - leave this hunk undecided, see next undecided hunk
           J - leave this hunk undecided, see next hunk
           k - leave this hunk undecided, see previous undecided hunk
           K - leave this hunk undecided, see previous hunk
           s - split the current hunk into smaller hunks
           e - manually edit the current hunk
           ? - print help

8
@VicGoldfeld d fährt mit der nächsten Datei fort, während q den Vorgang vollständig abbrechen würde.
Steve

5
qwird nicht zurückgesetzt alle zuvor inszenierten Änderungen. Was immer Sie bereits inszeniert haben, bleibt inszeniert.
Alexander Bird

Ich benutze es -pzum Verstauen, wusste nicht, dass du das auch dafür verwenden kannst add! Nur um diese Antwort zu ergänzen, obwohl das -p | --patchFlag erwähnt wird, git stash --helpgibt Ihnen dieses cmd: NICHT die gleichen Informationen über Patch-Optionen wie git add --help.
Phil Gibbins

31

Die Bedeutung dieser Buchstaben kann durch Eingabe von ? und drücken Sie die Eingabetaste . Für mich kamen diese nicht beim Laufen git add --help. Ich habe die Bedeutung dieser Optionen wie folgt: -

Arup-iMac:$ git add -p
diff --git a/app/interactors/reporting_groups/list_colleagues.rb b/app/interactors/reporting_groups/list_colleagues.rb
index adc28af..f46f5e3 100644
--- a/app/interactors/reporting_groups/list_colleagues.rb
+++ b/app/interactors/reporting_groups/list_colleagues.rb
@@ -14,7 +14,4 @@ module ReportingGroups
         reporting_group.employees_from_team_sub_reporting_groups
       else
         reporting_group.users
-      end
-    end
-  end
-end
+      
Stage this hunk [y,n,q,a,d,/,e,?]? ? <-- Look here, what I typed to get these.
y - stage this hunk
n - do not stage this hunk
q - quit; do not stage this hunk nor any of the remaining ones
a - stage this hunk and all later hunks in the file
d - do not stage this hunk nor any of the later hunks in the file
g - select a hunk to go to
/ - search for a hunk matching the given regex
j - leave this hunk undecided, see next undecided hunk
J - leave this hunk undecided, see next hunk
k - leave this hunk undecided, see previous undecided hunk
K - leave this hunk undecided, see previous hunk
s - split the current hunk into smaller hunks
e - manually edit the current hunk
? - print help
@@ -14,7 +14,4 @@ module ReportingGroups
         reporting_group.employees_from_team_sub_reporting_groups
       else
         reporting_group.users
-      end
-    end
-  end
-end
+      
Stage this hunk [y,n,q,a,d,/,e,?]? 
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.