我正在尝试使用git bundle来创建本地存储库的备份。我正在运行以下命令在源计算机上创建捆绑包。
git bundle create myback.bundle mybranch --all
我正在使用all参数,因为我想备份源计算机上的所有分支。
当我在备份计算机上验证此捆绑包时,我看到重复的refs似乎阻止我从捆绑包中克隆。请参阅下面的“mybranch”重复。
5e6e24e00edb98e5c12af39ef9ed895106600d69 refs / heads / mybranch 5e6e24e00edb98e5c12af39ef9ed895106600d69 refs / heads / mybranch d97386c728189eed6acbd39ca4385e1c75c5ff22 refs / heads / otherbranch 6d81c25f0fc2e59303d66340d5b56141de20a6cf refs / heads / br3 e7fdaff9c298784dc19f3f42922541f2b8eb81f0 refs / heads / master 7deee21ec20e7e57183e362a49895022df4acdab refs / heads / br4 ec11a354241c61a71ca922f41118e3e83f911e28 refs / remotes / origin / br1 970e3949edbe7a7846e3d80e9633b3f1a4e40bc6 refs / remotes / origin / mybranch e7fdaff9c298784dc19f3f42922541f2b8eb81f0 refs / remotes / origin / br4
在源计算机上,运行
时我没有看到这些重复的引用git show-ref
知道这个重复的引用是如何进入捆绑包的吗?
答案 0 :(得分:1)
--all
参数获取包括mybranch
在内的所有分支,因此通过指定分支,您要求git bundle将其包含两次。我尝试从命令行中删除mybranch
并获得所有分支,包括mybranch,没有重复。
在我自己的测试中(Linux上的Git 2.4.0),重复的ref只会在克隆bundle时发出警告。我想知道为什么它会给你造成实际的失败。无论如何,我希望只使用--all
来解决您的问题。