我有一个.diff类型的文件,好像吹了:
diff --git a/res/User.lua b/res/User.lua
index db8c2cc..4d2af0f 100644
--- a/res/User.lua
+++ b/res/User.lua
@@ -5,6 +5,7 @@ resetPassword = {}
+UserInfo = {}
我应该手动修改我的本地User.lua,还是可以像应用补丁文件一样应用diff文件? (或者应该将.diff文件转换为.patch文件,如何?)
感谢任何帮助。
答案 0 :(得分:4)
应该将
.diff
文件转换为.patch
文件,如何?
不,扩展名并不重要。内容是。
您可以尝试,如果不起作用,请on this comment后退Евгений Чорба (Evgeny Solis):
对于那些没有补丁命令的人而言,
git apply
什么都不做。解决方案是:
我们来修改补丁文件!这
diff --git a/uc_attribute/uc_attribute.admin.inc b/uc_attribute/uc_attribute.admin.inc
index b9a978a..ef33ca3 100644
--- a/uc_attribute/uc_attribute.admin.inc
+++ b/uc_attribute/uc_attribute.admin.inc
要:
diff --git ubercart/uc_attribute/uc_attribute.admin.inc ubercart/uc_attribute/uc_attribute.admin.inc
index 1c35bf8..587fa67 100755
--- ubercart/uc_attribute/uc_attribute.admin.inc
+++ ubercart/uc_attribute/uc_attribute.admin.inc
使用
从项目根目录应用补丁git apply -p0 PATCHFILE.patch
详细:
您应该将补丁文件中的“a/
”和“b/
”替换为“<projectname>/
”(在我的示例中为“ubercart
”)应用补丁后,您可能会看到类似
的警告
warning: ubercart/uc_attribute/uc_attribute.admin.inc has type 100755, expected 100644
没关系,别担心。
请注意!如果补丁包含多个文件的差异,则应替换所有出现的“
a/<anypath>
”和“b/<anypath>
”
注意:使用git apply
时,OP chengpei有seen the other error message:
got a error: fatal: corrupt patch at line 7
记录在““fatal: corrupt patch at line XX
” when staging single line”
在文件末尾添加换行符会修复它,并删除它们会导致它。
不是编辑补丁文件以删除目录前缀
a/
和b/
,而是运行patch -p1
以自动删除第一个目录组件。
要在没有
a/
和b/
前缀的情况下从git生成差异,您可以使用--no-prefix
作为git diff
的选项