Некоторые варианты в интерактивном режиме не работают на git
Я просто пробую интерактивный режим с проверкой фиксации
git checkout -p <commit_sha1>
Есть разные варианты
Применить этот блок для индекса и рабочего дерева [y,n,q,a,d,/,s,e,?]?
и нажав ?
это показывает еще больше вариантов
y - применить этот кусок к индексу и рабочему дереву n - не применять этот кусок для индекса и рабочего дерева q - выйти; не применять этот ломоть, ни один из оставшихся a - применить этот кусок и все последующие фрагменты в файле d - не применять ни этот блок, ни какие-либо более поздние фрагменты в файле g - выберите лом, чтобы перейти / - поиск ломтя, соответствующего заданному регулярному выражению j - оставить этот кусок нерешенным, увидеть следующий нерешенный кусок J - оставь этот кусок нерешенным, смотри следующий кусок k - оставить этот кусок нерешенным, см. предыдущий нерешенный кусок K - оставить этот кусок нерешенным, см. Предыдущий кусок s - разделить текущий кусок на более мелкие фрагменты e - вручную редактировать текущий блок? - справка по печати
Я на самом деле пытался всех родственников нерешительные глыбы, и ни один из них, кажется, не работает. После выбора, независимо от того, нажимаю я j/J/k/K или s, он всегда возвращается к одному и тому же файлу и снова запрашивает выбор.
Пока все остальные (y / n / q / a / d /.. и т . Д.) Работают.
Есть ли причина для этого?
1 ответ
Apply this hunk to index and worktree [y,n,q,a,d,/,s,e,?]?
мерзавец только дает вам выбор y,n,q,a,d,/,s,e,?
, потому что снимок файла имеет только 1 блок. Справка распечатывает все варианты, которые могут быть доступны, но в вашем случае у вас нет возможности пропустить кусок.
Кусок - это одна разница в файле. Так что Git хочет сказать вам, что в этом файле есть только один diff. Таким образом, вы не можете пропустить это и перейти к следующему.
Например... если я создам текстовый файл и вставлю в него ваш вопрос, чтобы я получил эту разницу
@@ -1,9 +1,28 @@
I'm just trying the interactive mode with a commit checkout
+ git checkout -p <commit_sha1>
+
There are different choices available
+ Apply this hunk to index and worktree [y,n,q,a,d,/,s,e,?]?
+
and pressing ? it shows even more options
+ y - apply this hunk to index and worktree
+ n - do not apply this hunk to index and worktree
+ q - quit; do not apply this hunk nor any of the remaining ones
+ a - apply this hunk and all later hunks in the file
+ d - do not apply 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
+
I actually tried all the relatives to undecided hunks, and none of them seem to work. After the choice, no matter if I press j/J/k/K or s it always returns to the same file and as
k again for a choice.
While all the others (y/n/q/a/d/.. etc.) work.
Чем интерактивная проверка позволила бы мне разделить фактический кусок на меньшие фрагменты.
Apply this hunk to index and worktree [y,n,q,a,d,/,s,e,?]? s
После этого вы можете выбрать, какой блок применить, а какой пропустить.
Split into 3 hunks.
@@ -1,4 +1,6 @@
I'm just trying the interactive mode with a commit checkout
+ git checkout -p <commit_sha1>
+
There are different choices available
Apply this hunk to index and worktree [y,n,q,a,d,/,j,J,g,e,?]? j
Пропускать (j
) и переходите к следующему.
@@ -3,4 +5,6 @@
There are different choices available
+ Apply this hunk to index and worktree [y,n,q,a,d,/,s,e,?]?
+
and pressing ? it shows even more options
Apply this hunk to index and worktree [y,n,q,a,d,/,k,K,j,J,g,e,?]?