Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git在哪里存储远程跟踪分支_Git - Fatal编程技术网

Git在哪里存储远程跟踪分支

Git在哪里存储远程跟踪分支,git,Git,我必须用Git reposrepo1和repo2。在repo1中有三个分支master、alpha和betarepo2从repo1克隆 在repo2中,我可以看到带有git branch-a的远程跟踪分支: remotes/origin/HEAD -> origin/master remotes/origin/master remotes/origin/alpha remotes/origin/beta 但是repo2中的文件夹.git/refs/remotes/origin/只有一个文

我必须用Git repos
repo1
repo2
。在
repo1
中有三个分支
master
alpha
beta
repo2
repo1
克隆

repo2
中,我可以看到带有
git branch-a
的远程跟踪分支:

remotes/origin/HEAD -> origin/master
remotes/origin/master
remotes/origin/alpha
remotes/origin/beta
但是
repo2
中的文件夹
.git/refs/remotes/origin/
只有一个文件
,其内容是:

ref: refs/remotes/origin/master

所以这个
HEAD
是一个符号ref。但是为什么它指向一个不存在的ref呢?顺便问一下,
repo2
在哪里存储
alpha
beta
的信息?(
repo2
知道
alpha
beta
,因为它在
git branch-a
中显示它们)

信息在
.git/config
中,并且在添加或修改遥控器时由
git remote
等工具更新。上面有一页手册。如果搜索“跟踪分支”,您将看到它们如何配置的详细信息。

引用可能在
中“打包”。git/packed refs

这是错误的。远程跟踪分支未存储在
.git/config
中。所有分支都存储在
.git/refs/
.git/packed refs
中。只有本地分支的跟踪元数据以及fetch和push refspec存储在
.git/config
@CharlesBailey中:问题中的“跟踪”一词似乎是请求中最具体的部分,所以我把重点放在跟踪元数据上。这解决了我的问题:visual studio 2013当前分支没有配置上游分支
git help pack refs
澄清了一切。谢谢您正在运行哪个版本?你是
init
fetch
,还是只是
clone
。我这样问是因为默认情况下应该获取的内容有可用的设置。这些都在同一台机器上吗?您的安装是否使用符号链接而不是真正的第二个副本?@PhilipOakley它们在同一台机器上。下面指出了答案。我忘记了打包的裁判问题。。。