在服务器上克隆具有多个分支的存储库后,我注意到本地.git/refs/remotes/origin
目录仅包含一个文件HEAD
,但不包含分支文件(正如我所料)。
当我执行 agit branch -r
或 a 时,git branch -a
所有远程分支都会列出。
分支文件何时refs/remotes/origin
创建?
答案1
默认情况下,克隆后,所有引用都是已打包– 存储在单个文件中.git/packed-refs
以获得更好的性能。请参阅git pack-refs更多细节。
.git/refs/
它们将在首次出现时作为单独的文件出现更新(例如通过未来的拉取/获取),但可能会在 git 偶尔的自动维护期间重新打包。
打包和解包的 ref 行为 100% 相同:它们仍然存在于本地存储库中,它们将显示在中git branch -r
,您可以检出它们,等等。