Git尝试在推送时获取Null提交

时间:2013-01-31 16:28:22

标签: git

我使用--bare选项将github存储库克隆到另一个裸存储库中。但是当我将提交推送到此存储库时,我得到了这个输出:

Fetching remote heads...
  refs/
  refs/tags/
  refs/heads/
  refs/remotes/
  refs/remotes/origin/
  fetch 0000000000000000000000000000000000000000 for refs/remotes/origin/HEAD
Unable to fetch 0000000000000000000000000000000000000000, will not be able to update server info refs
updating 'refs/heads/master'
  from db82a9e0b834b59922b42ff193984f7cbc4fb295
  to   b694385d28056e9182314f770b1380a424f49bfa
    sending 4 objects
    done
Unable to update server info
To http://www/git/asi-http-request.git
   db82a9e..b694385  master -> master

我正在使用DAV传输,因此不会执行仅包含git update-server-info的更新后挂钩,使最后一次提交不可见。我必须手动运行update-server-info命令

我注意到refs/remotes/origin/HEAD文件包含对refs/remotes/origin/master的符号引用,该引用不存在。我尝试在原始存储库中创建包含主分支的提交引用,但是在推送新提交时我仍然面临同样的错误。

git版本是1.7.2.5

有没有人知道发生了什么以及如何解决它?

编辑2013年2月1日

远程存储库上的git log HEAD命令返回该输出(我删除了作者提交消息):

commit b694385d28056e9182314f770b1380a424f49bfa
Author: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Date:   Tue Jan 29 18:44:05 2013 +0100

    ...

commit db82a9e0b834b59922b42ff193984f7cbc4fb295
Author: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Date:   Tue Jan 29 10:59:59 2013 +0100

    ...

commit 6300b759329d5d5d715d0fc76d15424c12a87bd4
Author: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Date:   Sat Jan 5 13:28:27 2013 +0100

    ...

我不确定这是否相关,因为我跑了git update-server-info

1 个答案:

答案 0 :(得分:0)

我会尝试不将repo克隆到--bare个:

  • cd your_bare
  • git clone --bare git@github.com...

而是首先将其克隆为正常

创建您的裸仓库

  • cd your_bare
  • git init --bare

现在克隆回购

  • cd /tmp
  • git clone git@github.com...
  • cd repo
  • git remote rename origin upstream

并将其推送到您的裸仓库

  • git remote add origin your_bare
  • git push origin master