¿Qué representa cada uno de los [y, n, q, a, d, /, K, j, J, g, e ,?] en el contexto de git -p

272

Cuando se utiliza el modo -p git add -po git stash -p¿qué significa cada una de las letras?

Supongo que ysí y nno. ¿Qué son el resto?

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

chrisjlee
fuente
64
Si prueba la ?opción, lo descubrirá
Abe Voelker
77
¿Tal vez solo tienes que desplazarte un poco hacia arriba?
Cosimo
1
La copia impresa en la respuesta aceptada incluye opciones que no figuran al ingresar '?'
Mark

Respuestas:

325

El -pmodo significa parche, cuya ayuda es difícil de encontrar, pero si marca git add --help, encontrará lo siguiente

   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
fuente
8
@VicGoldfeld d continuará con el siguiente archivo mientras q interrumpiría el proceso por completo?
Steve
55
qno no restablecer cualquier cambio previamente por etapas. Cualquier cosa que ya hayas puesto en escena queda puesta en escena.
Alexander Bird
Lo uso -ppara esconder, ¡no sabía que también podrías usar esto add! Solo para agregar a esta respuesta, aunque se menciona la -p | --patchbandera, este cmd: git stash --helpNO le brinda la misma información sobre las opciones de parche que lo git add --helphace.
Phil Gibbins
31

El significado de estas letras se puede encontrar escribiendo ? y presiona la tecla Enter . Para mí, estos no llegaron cuando se ejecuta git add --help. Obtuve el significado de estas opciones de la siguiente manera:

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,?]? 
Arup Rakshit
fuente