【问题标题】:How to apply a .diff file如何应用 .diff 文件
【发布时间】:2014-02-12 00:48:12
【问题描述】:

我得到了一个 .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 文件转换为 .patch 文件,如何?)

将不胜感激。

【问题讨论】:

标签: git merge diff patch


【解决方案1】:

应该将.diff文件转换为.patch文件,怎么做?

不,扩展名并不重要。内容是。

你可以试试,如果不行,回退on this comment by Евгений Чорба (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>


注意:OP chengpei 在使用git apply 时具有seen the other error message

  got a error: fatal: corrupt patch at line 7

记录在“fatal: corrupt patch at line XX” when staging single line”中

在文件末尾有换行符会修复它,删除它们会导致它。


Magnus Bäck推荐in the comments

不要编辑补丁文件以删除目录前缀a/b/,而是运行patch -p1 以自动删除第一个目录组件。

tremby 添加in the comments

要从 git 生成不带 a/b/ 前缀的差异,您可以使用 --no-prefix 作为 git diff 的选项

【讨论】:

  • 谢谢,已经尝试过 git apply -p0 PATCHFILE.patch (实际上,我之前尝试过),不幸的是,出现错误:致命:第 7 行的损坏补丁...
  • @chengpei 您是否替换了答案中提到的a/b/?你是从你的仓库的根文件夹中应用它的吗?
  • 我已经修复了“得到一个错误:致命:第 7 行的损坏补丁”问题,这是答案stackoverflow.com/a/12548088/1731438
  • @chengpei 太好了!我已将您的结论以及指向其他答案的链接包含在我的答案中以提高知名度。
  • 不要编辑补丁文件以删除目录前缀 a/ 和 b/,而是运行 patch -p1 以自动删除第一个目录组件。
猜你喜欢
  • 2020-10-16
  • 1970-01-01
  • 1970-01-01
  • 2010-10-21
  • 2012-02-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多