我发布这个自问自答,因为我知道我的一些同事很快就会搜索到这个。我们有时需要分发捆绑文件,这些文件在主干上进行了基线处理,因此仅包含创建时明确包含的特定分支。例如,分发者执行以下操作:
git bundle create ../file.gitbundle master..feature/aunit_reporters
问题是,在接收到捆绑文件后,执行
git pull ../file.gitbundle
时出现以下错误:fatal: Couldn't find remote ref HEAD
我已经验证了捆绑文件是可适用的,方法如下:
git bundle verify ../file.gitbundle
The bundle contains this ref:
4f969119b208b71f4893222810600862 refs/heads/feature/aunit_reporters
The bundle requires this ref:
fd9801b79b56f5dd55ab1e6500f16daf
git show fd9801b79b56f5dd55ab1e6500f16daf
正确显示所需的提交记录,而不是给出 fatal: ambiguous argument '[commit-hash]': unknown revision or path not in the working tree
,这表示我没有必要的基线提交记录。