当我试图在一个裸仓库中删除一个分支时,我被告知我不能,因为我“正在使用它”。有点令人惊讶,因为我预计不会在一个裸仓库的任何分支上。
哪个分支应该在用作中央存储库的裸仓库中激活,以产生最小的副作用?活跃分支只是非裸回购的遗迹吗?
在裸露回购之前我检查了一个“虚拟”分支,现在我想知道我是否还应该在我的中央裸仓库上有一个“虚拟”分支。
答案 0 :(得分:4)
Bare repos有一个符号HEAD
引用,指向默认分支,通常为master
。无论哪个分支origin/HEAD
指向的是默认分支,它都会检查该裸仓库的任何克隆。请参阅How does origin/HEAD get set?。
另外,来自official Linux kernel docs for git-remote
:
set-head
设置或删除指定遥控器的默认分支(即symbolic-ref
refs/remotes/<name>/HEAD
的目标)。不需要具有远程的默认分支,但允许指定远程的名称来代替特定的分支。
答案 1 :(得分:1)
我认为你的意思是裸露的回购中的HEAD分支?这只是一个新克隆的线索,当第一次克隆时,哪个分支被认为是默认结帐。这是相当无关紧要的。
答案 2 :(得分:1)
--branch <name>
-b <name>
不是将新创建的
HEAD
指向克隆存储库HEAD
所指向的分支,而是指向<name>
分支。在非裸存储库中,这是将要检出的分支。--branch
还可以在生成的存储库中对该提交中的HEAD
进行标记和分离。
所以基本上你将HEAD
保留在远程仓库中,指向你喜欢克隆的任何分支来制作默认分支。无需保留虚拟分支。