Распутайте две строки с помощью `git add -p` - PullRequest
22 голосов
/ 03 марта 2010

У меня есть файл со следующими изменениями:

# Manual hunk edit mode -- see bottom for a quick guide
@@ -280,6 +281,7 @@
 if( foo )
 {
     bla();
-    test( true );
+    removeThis();
+    test( false );
 }
 else

Как я могу зафиксировать изменение только для test() и избежать совершения removeThis ()? Каждый раз, когда я пытаюсь редактировать ханк вручную, git сообщает мне, что он не применяется чисто.

1 Ответ

26 голосов
/ 03 марта 2010

Как я могу зафиксировать изменение только для test () и избежать совершения removeThis ()?

Это просто.

  1. Войдите в режим add -i, затем выберите 5: [p]atch, нажав p Введите .

  2. Выберите файл, введя его номер, и нажмите Введите , чтобы начать редактирование исправлений.

  3. Нажмите e , чтобы отредактировать свой кусок (вы, кажется, добились успеха, выполнив git add -p вместо этого).

  4. Удалить строку с removeThis() полностью , со знаком + также в начале. Не трогай больше ничего! Результирующий текст должен выглядеть как патч для внесенного вами изменения.

  5. Сохраните файл и выйдите из редактора.

Патч хорошо подойдет. Я только что проверил. Проверьте еще раз - может быть, это еще один кусок, который не применяется?

Кроме этого, ваши , символы рядом с + / - выглядят подозрительно. Возможно, ваши программы patch и diff как-то не синхронизированы? Попробуйте также удалить , s из блока.

...