git打补丁

后置空格导致的打补丁失败,一般执行git am xx.patch后会出现

Applying: [patch commit-msg]
.git/rebase-apply/patch:[line number]: trailing whitespace.

error: patch failed: [one patch file name]:[line number]
error:  [one patch file name]: patch does not apply

如果拿到的只有patch文件而无源码的话,是无法修复冲突然后执行git am --continue的,因为无任何冲突,单纯是格式检查错误。

这里的解决方法是执行git am --reject,这个参数用来强制打补丁,然后会生成一个.rej文件,里面包含了am操作的信息。这个操作类似于git merge,可能导致冲突,然后根据git status解决具体冲突,重新git add . 加上git am --continue就可以了,和merge或者rebase操作是类似的。

你可能感兴趣的:(git打补丁)