簡體   English   中英

如何應用.diff文件

[英]How to apply a .diff file

我有一個.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文件,如何?)

會感激任何幫助。

應該將.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

至:

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

詳細:
你應該用' <projectname>/ '替換patchfile中的' a/ '和' b/ <projectname>/ '(在我的例子中它是' ubercart ')

應用補丁后,您可能會看到警告

warning: ubercart/uc_attribute/uc_attribute.admin.inc has type 100755, expected 100644

沒事不用擔心。

注意! 如果patch包含多個文件的差異,則應替換所有出現的' a/<anypath> '和' b/<anypath> '


注意: OP chengpei在使用git apply看到了其他錯誤消息

  got a error: fatal: corrupt patch at line 7

它被記錄在“ fatal: corrupt patch at line XX ”,當分段單行時

在文件末尾有換行符修復它,並刪除它會導致它。


MagnusBäck 在評論中建議:

不是編輯補丁文件以刪除目錄前綴a/b/ ,而是運行patch -p1以自動剝離第一個目錄組件。

tremby 在評論中添加:

要從沒有a/b/前綴的git生成diff,可以使用--no-prefix作為git diff的選項

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM