Git 如何应用.diff文件
我得到了一个.diff类型的文件,看起来像:Git 如何应用.diff文件,git,merge,diff,patch,Git,Merge,Diff,Patch,我得到了一个.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 = {} 我应该手动修改我的local User.lua,还是可以像应用补丁文件一样应用diff文件?(或者应该将.diff文件转换为.patc
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 = {}
我应该手动修改我的local User.lua,还是可以像应用补丁文件一样应用diff文件?(或者应该将.diff文件转换为.patch文件,如何转换?)
我会感谢你的帮助
应将.diff
文件转换为.patch
文件,如何转换
不,分机不重要。内容是
您可以尝试,如果不起作用,可以通过以下方法进行回退:
对于那些没有补丁命令且不执行任何操作的用户。解决方案是:让我们修改补丁文件 从 致: 使用从项目根应用修补程序 git apply-p0 PATCHFILE.patch 冗长:
您应该将patchfile中的“
a/
”和“b/
”替换为“/
”(在我的示例中是“ubercart
”)
应用修补程序后,您可能会看到如下警告
没关系,别担心
注意!如果修补程序包含多个文件的差异,则在使用git apply时,应替换所有出现的“a/has”:
got a error: fatal: corrupt patch at line 7
它记录在“”中
在文件末尾添加换行符可以修复该问题,删除它们会导致该问题
建议:
运行patch-p1
自动剥离第一个目录组件,而不是编辑修补程序文件以删除目录前缀a/
和b/
加上:
要从git生成不带a/
和b/
前缀的差异,可以使用--no prefix
作为git差异的选项
谢谢,您尝试过git apply-p0 PATCHFILE.patch(实际上,我以前尝试过,),但不幸的是,出现了一个错误:致命:第7行的补丁已损坏…@chengpei您是否替换了答案中提到的a/
和b/
?你是从回购协议的根文件夹中应用它的吗?我已经修复了“got a error:fatal:corrupt patch at line 7”问题,下面是答案@chengpei Great!我已经在我的答案中包含了您的结论,以及到另一个答案的链接,以提高可见性。运行patch-p1
自动剥离第一个目录组件,而不是编辑补丁文件以删除目录前缀a/和b/。
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
warning: ubercart/uc_attribute/uc_attribute.admin.inc has type 100755, expected 100644
got a error: fatal: corrupt patch at line 7