Я пытаюсь использовать его git add --interactive
для выборочного добавления некоторых изменений в свой индекс, но постоянно получаю сообщение «Ваш отредактированный фрагмент не применяется. Отредактируйте снова ...». Я получаю это сообщение, даже если выберу опцию e, и сразу сохраню / закрою свой редактор. Другими словами, без редактирования фрагмента патч не применяется.
Вот точный пример, который я использую (я пытаюсь собрать небольшую демонстрацию):
Исходный файл:
first change
second change off branch
third change off branch
second change
third change
fourth change
Новый файл:
Change supporting feature 1
first change
second change off branch
third change off branch
second change
third change
fourth change
bug fix 1
change supporting feature 1
Я пытаюсь показать, как использовать git add --interactive
для добавления в индекс только строки «исправление ошибки 1». Запуская интерактивное добавление к файлу, выбираю режим патча. Он представляет мне
diff --git a/newfile b/newfile
index 6d501a3..8b81ae9 100644
--- a/newfile
+++ b/newfile
@@ -1,6 +1,9 @@
+Change supporting feature 1
first change
second change off branch
third change off branch
second change
third change
fourth change
+bug fix 1
+change supporting feature 1
Я отвечаю разделением, а затем «нет», чтобы применить первый кусок. Второй кусок, пытаюсь править. Изначально я пытался удалить нижнюю строку - это не сработало. Полностью оставить кусок в покое тоже не работает, и я не могу понять почему.
-
символы в начале строк, которых нет в файле; это разница, и он не может удалять строки, которых еще нет. Итак, если строка в diff начинается с,+
а вы измените ее на-
git, идет WTF? потому что теперь строка, отмеченная для удаления, не существует с самого начала (вместо этого эта строка была отмечена для добавления, и когда строка, отмеченная для добавления, отмечена для удаления, git не может удалить строку, которой еще нет в файле) .