.git/branches文件夹用于什么?

25

我一直认为 .git/branches 目录是用于历史遗留目的,git 以前使用该目录,但现在改用 .git/refs 目录。这是真的吗?如果不是,那么这个目录的目的是什么呢?因为我从未看到过它被使用或引用。

编辑

我正在使用 git 版本 1.7.3.4。


我手头的所有检出中都没有branches目录(我想所有的git版本都是1.7.9),也许它已经被弃用并且不存在了? - Rup
我使用git 1.7.9.5、1.7.9.1和1.7.5.4,但始终会得到一个分支文件夹,尽管它是空的。 - Luca Geretti
我找不到比这个链接更好的参考资料,它证实这是一种已弃用的引用分支的方式。 - Luca Geretti
1个回答

21

现在“稍微过时”的使用.git/branches的方式在有用的gitrepository-layout文档中有描述:

branches: 存储简写,用于指定URL给git fetchgit pullgit push命令的一种稍微过时的方式是将文件存储在branches/<name>中,并在这些命令中使用name代替存储库参数。

在上面的评论中,提出了为什么有些人有这个目录,而有些人没有的问题。似乎在2009年引入了一项提交,默认情况下停止git创建.git/branches目录。然而,最近这个变化被撤销了(即意味着.git/branches将在git init等命令中被创建),以下是Junio C. Hamano的正当理由:

没有足够的理由这样做。我们不再更新.git/branches.git/remotes中的内容,但仍会从那里读取信息,并将继续这样做。

此外,这破坏了t55??系列中的许多测试。


Git仓库布局文档的链接已经失效了。你知道它是否还在其他地方可用吗? 编辑:没事了,我找到了。https://git-scm.com/docs/gitrepository-layout - bartgol

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接