git apply patch (созданный с помощью diff -u0) должен использовать —unidiff-zero

#git #diff #apply #patch

#git #разница #применить #исправление

Вопрос:

Я хочу применить патч, созданный с параметром «-u0» в diff.

 $ cat file2.txt
123
456
789
$ cat patch1.txt
--- a/file2.txt
    b/file2.txt
@@ -2  2 @@
-456
 ABC
$ git apply -v patch1.txt
Checking patch file2.txt...
error: while searching for:
456

error: patch failed: file2.txt:2
error: file2.txt: patch does not apply
  

Почему ошибка?

Ответ №1:

Решение заключается в использовании опции git apply «—unidiff-zero».

 $ git apply -v --unidiff-zero patch1.txt
Checking patch file2.txt...
Applied patch file2.txt cleanly.
$ cat file2.txt
123
ABC
789
  

Надеюсь, это поможет кому-нибудь поискать в Google эту проблему.