我在这里使用git和应用补丁有点麻烦。
我正在尝试应用此修补程序:https://www.drupal.org/node/2309321
致该模块:https://www.drupal.org/node/2309089
我知道,那些都是Drupal链接,但这不是问题。您只需下载模块并将补丁放在同一个文件夹中即可。没有Drupal需要这个。
供参考:我将补丁命名为eck_test.patch
。
这是我到目前为止所尝试的:
git apply -v eck_test.patch
根本没有输出。
git apply -v --whitespace fix eck_test.patch
根本没有输出。
git am eck_test.patch
补丁格式检测失败。
我不知道,为什么这不起作用。
关于Sublime Text,两个行结尾都是相同的。
网上有很多关于此的话题,但我发现它们都不适合我。 我希望你有一些想法,因为git似乎,它不想帮助我。 :/
答案 0 :(得分:4)
我有同样的症状。当我按照@martin在评论中的建议尝试patch -p1 --dry-run < [patch name].patch
时,它提供了一些有用的输出:“Hunk#1 FAILED”。仔细观察补丁,我意识到补丁中存在冲突,git apply
没有报告。 (补丁试图删除一行,但删除的行在补丁中与我的工作副本不同。)所以解决方案是修复补丁。
答案 1 :(得分:0)
我在MAC git项目中遇到了类似的问题。事实证明,对我来说,解决方案是在修补程序发生时将修补程序应用于同一文件夹(在您的Git项目中)。
例如,如果您执行&#34; git format-patch&#34;在一个存储库中的文件夹\ dirA \ dirB中,您必须在\ dirA \ dirB中的另一个存储库中应用该修补程序。运行&#34; git app&#34; at \ dirA会导致问题。