我有一个捆绑包,我试图合并到另一个树。我用
创建了包git bundle create changes.bundle b88452317246ec2893c66b..HEAD
当我在目标上发出
时git fetch -v changes.bundle
根本没有输出,没有任何变化。
在同一系统上的不同存储库中,完全相同的过程非常有效。有什么区别?我在RHEL 6.1上使用Git 1.7.1
答案 0 :(得分:2)
我回去编写了Git的v1.7.1来尝试一些事情。这似乎是Git中的一个错误。修复此错误的实际提交是3ee1757baeecb6fe6c8b2446b3afe0519584b63f
。问题是当配置了远程跟踪分支时,fetch命令错误地处理了URL参数。修复程序出现在Git v1.7.3中。
您可以通过提供refspec来解决此问题。可能最简单的事情就是:
$ git fetch changes.bundle HEAD:tmp-branch
$ git merge --ff --ff-only tmp-branch
$ git branch -d tmp-branch
这会将对HEAD的更改存储到名为tmp-branch
的新分支中。快进当前分支以包含它(如果它无法快进,它将失败...由您来解决这个问题,无论是通过合并还是重新定位)。然后最后一个命令删除临时分支。