“未能锁定”错误

时间:2012-12-31 23:25:53

标签: git version-control git-push

当我将分支从本地仓库推送到拇指驱动器时,我需要一些帮助来解决错误。我认为问题是由不同驱动器之间来回切换引起的。特别是,我失去了一个并开始使用替代品。然后,当我发现原来我切换回它。现在看来我的一些参考/头部搞砸了。例如,当我尝试推送分支时,我得到以下输出:

$ git push origin android-lite 
Counting objects: 111, done.
Compressing objects: 100% (98/98), done.
Writing objects: 100% (109/109), 29.63 KiB, done.
Total 109 (delta 40), reused 0 (delta 0)
error: unable to resolve reference refs/heads/android-lite: No such file or directory
remote: error: failed to lock refs/heads/android-lite
To /media/2AC0-E4E2/devel/src/java/bbct/
 ! [remote rejected] android-lite -> android-lite (failed to lock)
error: failed to push some refs to '/media/2AC0-E4E2/devel/src/java/bbct/'
$ 

如果我理解正确,这表示refs / heads / android-lite在原点中不存在。但是,我很困惑为什么git没有创建新的分支。我的本地仓库中是否有东西表明android-lite分支已经存在于原产地?

1 个答案:

答案 0 :(得分:2)

如果调试远程仓库过于复杂(如this questiongit gcgit prunegit fsck,...)),您仍然可以:< / p>

  • git bundle您当前的回购,只会提供一个文件,
  • 复制远程驱动器上的一个文件
  • 来自该捆绑文件的git clone
  • 将您当前的远程地址设置为新路径

这有点像“How to synchronize two git repositories”,并且使用捆绑执行此任务是为了确保您没有任何文件错误副本。