Що означає кожен з [y, n, q, a, d, /, K, j, J, g, e,?] В контексті git -p


272

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

Я здогадуюсь y- так, і nні. Які інші?

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


64
Якщо ви спробуєте ?варіант, ви дізнаєтесь
Abe Voelker

7
Можливо, вам просто доведеться трохи прокрутити вгору?
Cosimo

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

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,?]? 
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.