我使用gitolite设置了一些带有少量git存储库的服务器。
我添加了一个新的存储库,更新了gitolite.conf
以获得新存储库的条目,并推送(如所述here)。
然后我在本地机器上添加了一个git远程条目,以便我可以推送到新的gitolite repo。
当我尝试在那里推送除master之外的任何分支时,我看到以下错误:
remote: warning: remote HEAD refers to nonexistent ref, unable to checkout
答案 0 :(得分:1)
问题是,gitolite repos默认使用master作为默认分支,因此它在master分支中查找我正在推送的refs,并且它们不在那里。
我找到了使用git symbolic-ref
命令修复here的方法。正如该帖子所解释的那样,该命令可以在较新的版本中通过gitolite本身运行,或者您可以登录到远程服务器并在那里进行。
在我的情况下,我在服务器(即/home/git/repositories/my_new_one.git
)上转到我的新回购并运行git symbolic-ref HEAD refs/heads/develop
,将默认分支切换为develop
。
我现在可以根据需要将开发分支推到那里。