[英]Patch applied with system's patch but rejected by git-apply
我试图了解git如何应用统一差异。
我写了以下“身份”补丁:
--- a/js/controllers.js
+++ b/js/controllers.js
@@ -15,3 +15,3 @@
- '$location',
- function ($scope, $routeParams, $location) {
- doSomething();
+ '$location',
+ function ($scope, $routeParams, $location) {
+ doSomething();
系统的patch命令成功应用此补丁,而git-apply提供以下输出:
error: patch failed: [...]js/controllers.js:15
error: [...]js/controllers.js: patch does not apply
我不明白为什么。
您的补丁程序没有上下文。 diff
在更改前后也会包含一些未修改的行。 从git apply
文档中:
--unidiff-zero
默认情况下,git apply期望所应用的补丁是具有至少一行上下文的统一差异。 这提供了良好的安全措施,但是在应用
--unified=0
生成的diff时会--unified=0
。 要绕过这些检查,请使用--unidiff-zero
。注意,由于上述原因,不建议使用无上下文修补程序。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.