Что означает каждый из [y, n, q, a, d, /, K, j, J, g, e,?] В контексте git -p

272

При использовании режима -p git add -pили git stash -pчто означает каждая из букв?

Я предполагаю, yчто да и nнет. Какие остальные?

[У, п, д, а, д, /, K, J, J, G, Е ,?]

chrisjlee
источник
64
Если вы попробуете ?вариант, вы узнаете
Abe Voelker
7
Может быть, вам просто нужно немного прокрутить?
Козимо
1
Распечатка в принятом ответе включает опции, не перечисленные при вводе '?'
Марк

Ответы:

325

-pСредства в режиме патч, помощь , для которых трудно иш найти, но если вы проверяете git add --helpвы найдете следующее

   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
AD7six
источник
8
@VicGoldfeld d перейдет к следующему файлу, а q полностью прервет процесс?
Стив
5
qникак не сбросить все ранее постановочные изменения. Все, что вы уже поставили, остается постановкой.
Александр Берд
Я использую -pдля хранения, не знал, что вы можете использовать это addтоже! Просто чтобы добавить к этому ответу, хотя есть упоминание о -p | --patchфлаге, этот cmd: git stash --helpНЕ дает вам ту же информацию о параметрах патча, что git add --helpи.
Фил Гиббинс
31

Значение этих букв можно узнать, набрав ? и нажмите клавишу Enter . Для меня это не пришло, когда бежать git add --help. Я получил значение этих опций, как показано ниже:

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,?]? 
Аруп Ракшит
источник