我正在尝试使用 git am -3“补丁路径”将一系列补丁从 1 个 git 存储库应用到另一个 git 存储库。我按顺序应用它们,从补丁 1-4 开始,它工作正常。
但是当我来到第 5 个补丁时,我收到错误消息“致命:sha1 信息缺失或无用”。我转到应用补丁的 git 存储库,我确实看到了文件“dev/afile”。所以我想知道为什么 git 抱怨“sha1 信息缺乏或无用(dev/afile.c)”,我该如何解决我的问题?
$ git am -3 ~/Tmp/mypatches/0005-fifth.patch
Applying: rpmsg: Allow devices to use custom buffer allocator
fatal: sha1 information is lacking or useless (dev/afile.c).
Repository lacks necessary blobs to fall back on 3-way merge.
Cannot fall back to three-way merge.
Patch failed at 0001 first patch
When you have resolved this problem run "git am --resolved".
If you would prefer to skip this patch, instead run "git am --skip".
To restore the original branch and stop patching run "git am --abort".
以及为什么它说“补丁在第一个补丁 0001 失败”,当我执行“git am -3 ~/Tmp/mypatches/0005-fifth.patch”时,它没有错误地完成。
谢谢你。