我在多个开发人员之间共享的git回购存在问题。一个分支似乎已经失踪(种),当我试图推动与这个分支我收到以下消息远程回购...无法将本地分支推送到远程Git回复
To [email protected]:bbis.git
* [new branch] dompdf0.52 -> dompdf0.52
! [rejected] live -> live (non-fast-forward)
error: failed to push some refs to '[email protected]:bbis.git'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes (e.g. 'git pull') before pushing again. See the
'Note about fast-forwards' section of 'git push --help' for details.
有在回购3个分支:
- dompdf0.52是一个临时分支,我升级了DOMPDF(这是好的)
- 主
- 现场(这是有问题的分支)
我是使用活动分支(用于部署到活动服务器)的唯一开发人员,并且我直接在这个分支中做了一些工作(我不知道这是一个好主意,但这是一个错误)并在本地执行。我尝试推送时遇到此错误。
其他开发人员不知道live
分支或dompdf0.5.2
分支(我创建了这两个分支,但将它们推送到远程回购 - 它们甚至在gitweb接口中显示为HEADS)。即使开发者做了git pull --all
,它仍然不会拉下这些分支。
另一个奇怪的现象是,在GitWeb里查看日志时,它只显示master
,但看shortlogs为live
分支当它显示live
在相同的点,其中master
在master
shortlog。
我对这里发生了什么感到有点困惑,从我所看到的live
分支处于远程仓库,但没有显示在主仓库中。
有没有人有任何想法?让我知道,如果你从gitk
编辑需要的任何图片:只是想我会提,我试着做一个git fetch
和git pull
,但无济于事,以解决该错误消息。我没有试过的唯一的事情是git push --force
,因为我不想失去我的历史。
编辑2:运行sehe提供的剧本后,我收到了以下:
fatal: ref ed2cacdacad22c75ca765cfc996304c8c7c8a654 is not a symbolic ref
fatal: ref 98c37bd8a9ef2fc16e882c17b4c04f417ae7b2b2 is not a symbolic ref
干杯,这工作:) – JamesHalsall 2011-06-17 08:00:52