che*_*pei 6 git diff merge 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 = {}
Run Code Online (Sandbox Code Playgroud)
我应该手动修改我的本地User.lua,还是可以像应用补丁文件一样应用diff文件?(或者应该将.diff文件转换为.patch文件,如何?)
会感激任何帮助.
应该将
.diff文件转换为.patch文件,如何?
不,扩展名并不重要。内容是。
你可以试试,如果不能正常工作,后备对此有何评论由??????? ????? (叶夫根尼·索利斯):
对于那些没有补丁命令并且
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
Run Code Online (Sandbox Code Playgroud)
到:
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
Run Code Online (Sandbox Code Playgroud)
使用从项目根应用补丁
git apply -p0 PATCHFILE.patch
详细:
您应该将补丁文件中的'a/' 和 'b/'替换为 '<projectname>/'(在我的示例中是 'ubercart')应用补丁后,您可能会看到类似警告
warning: ubercart/uc_attribute/uc_attribute.admin.inc has type 100755, expected 100644
Run Code Online (Sandbox Code Playgroud)
没事不用担心。
笔记!如果补丁包含多个文件的差异,您应该替换所有出现的“
a/<anypath>”和“b/<anypath>”
注:OP chengpei已经看到了其他错误消息当使用git apply:
got a error: fatal: corrupt patch at line 7
Run Code Online (Sandbox Code Playgroud)
暂存单行时记录在“ ”中fatal: corrupt patch at line XX”
在文件末尾有换行符可以修复它,删除它们会导致它。
不要编辑补丁文件来删除目录前缀
a/和b/,而是运行patch -p1以自动剥离第一个目录组件。
要在没有
a/和b/前缀的情况下从 git 生成差异,您可以将其--no-prefix用作选项git diff
| 归档时间: |
|
| 查看次数: |
11800 次 |
| 最近记录: |