问题
I have never used patches with Git before and I need some help. I am trying to apply a patch to a Git repo to test a Wine patch, specifically this patch here. So I did the following:
$ git clone git://source.winehq.org/git/wine.git
$ cd wine
$ nano patch.p1
I then pasted the content of the patch with Ctrl+Shift+Vand used Ctrl+O to save. Then I tried this:
$ git am patch.p1
Patch format detection failed.
What am I doing wrong? I have never applied a patch before.
回答1:
Patch format detection failed.
probably means you're using the wrong command: use git apply
instead of git am
or the other way around.
See What is the difference between git am and git apply? for more on the difference between the 2.
回答2:
Use below command: patch -p1 < patch_file_name.patch
- You will be asked to specify "File to patch", mention complete path /
- Assume -R [n]: n
- Apply anyway? [n]: y
Do for all files present in you patch.
- If any merge conflict occurs then check the conflict in ".rej" file which has been generated and resolve & apply those changes.
- do "git add " and "commit" your changes.
来源:https://stackoverflow.com/questions/49313250/git-am-patch-format-detection-failed