开发者

How can I apply a patch file in git

How can I apply a patch in my location repository in git?

I tried $ git am < 0001-Add-Voicemail-tab-t开发者_如何学运维o-Contacts.patch Patch does not have a valid e-mail address.

I tried $git apply 0001-my.patch

but I get fatal: git diff header lacks filename information (line 27) where line 27 is "GIT binary patch" in my patch file. My patch file has an png in it.

this is line 24 and on

diff --git a/res/drawable-finger/icl.png b/res/drawable-finger/icl.png
new file mode 100644
index 0000000000000000000000000000000000000000..f78e65cf94d22059e0caeb90caee03e17166f109
GIT binary patch
literal 1697
zcmV;S244AzP)<h;3K|Lk000e1NJLTq001BW001Be1^@s6b9#F80000PbVXQnQ*UN;
zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBU&LrFwIRCwCNS6ygRXBd9-pOdCZnl?Wr
zT}!*JMXxLc!LeIm!`%pu!FDwmis0~S-pnf*2)mHMWH7G;(JNtBW1={AA=C-BqUf{=


I was able to reproduce your problem by faking an end-of-line problem.

$ cp /bin/ls .
$ git add ls; git commit -m second
[master 8668716] second
 1 files changed, 0 insertions(+), 0 deletions(-)
 create mode 100755 ls
$ git format-patch HEAD^..HEAD
0001-second.patch
$ git reset --hard HEAD^
HEAD is now at 686ace7 first
$ unix2dos 0001-second.patch
$ git apply 0001-second.patch
fatal: git diff header lacks filename information (line 14)

Assuming you're running Linux, try

$ dos2unix 0001-Add-Voicemail-tab-to-Contacts.patch
$ git apply !$

If you're running Cygwin, perform the opposite conversion:

$ unix2dos 0001-Add-Voicemail-tab-to-Contacts.patch
$ git apply !$
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜