我正在尝试使用一堆存储库来设置一个git服务器.我打算使用http://nvie.com/git-model文章中描述的分支模型.所以我将在存储库中至少有两个分支(名为master和develop).
克隆后,git检出master分支.是否有一个git配置选项,以便检查开发分支?
实际上我想git clone my_repo_url表现得像git clone -b develop my_repo_url.
git clone 将:
创建并检出从克隆存储库的当前活动分支分叉的初始分支.
(即HEAD在那个远程回购中引用的地方)
因此,如果在远程服务器上使用develop检出repo,则任何克隆都将检出develop分支.
但是,很可能你的远程git repo是一个裸的repo(没有工作树),以便允许拉动和推动.
在这种情况下,您需要确保其HEAD引用开发分支.
如果它当前没有,克隆它,checkout开发分支,推送一个简单的添加,并看看是否有任何后续克隆进行结帐开发.
这只会证明裸机的HEAD可以受到任何推动的影响.
因此,真正的解决方案是在裸远程仓库上设置预接收挂钩(不是更新或提交挂钩,因为它是一个裸仓库),以确保HEAD引用开发分支(如果存在),否则为master.
注意:这个帖子提到你不能直接影响远程repo上的HEAD:
远程命令是关于更新内容
.git/refs/remotes,而不是更新远程服务器.对于更新远程服务器,实际上只有推送.
在GitHub上,存在将HEAD设置在GitHub(裸定义)repo 上的请求.