我在使用差异文件添加补丁时遇到了一些麻烦。我以这种方式使用两个 C 源创建了差异文件:
$diff gitrans.c.origin gifstrans > giftrans.diff
当我尝试使用 diff 文件创建补丁时,我收到此错误:
$patch -p1 < giftrans.diff
patch: **** Only garbage was found in the patch input.
有人可以帮我吗?我找不到解决方案。
您没有使用正确的语法。像这样使用:
$diff -aNur gitrans.c.origin gifstrans > giftrans.diff
在哪里
-a , treats it as text
-N , treats absent files as empty, useful if you want
just changes of different existing files but not
for new files
-u , output as unified. This is need to fix you problem
-r , recursively, useful if you want diff directories
我总是忘记选项,所以我只记得这个词aNur
。这很容易记住。
您应该使用具有给定补丁语法的统一差异格式
$diff -u gitrans.c.origin gifstrans > giftrans.diff
$patch < giftrans.diff
或具有以下补丁语法的默认差异格式
$diff gitrans.c.origin gifstrans > giftrans.diff
$patch gitrans.c.origin giftrans.diff