我在回购工作用的命名约定分离与顶级分支的命名空间孤立的项目,如:当我配置我本地的git的了projectA如下Git只提取“namespaced”远程标签?
A1 - A2 - A3 - A4 - ... - An projectA/*
B1 - B2 - B3 - B4 - ... - Bn projectB/*
:
[remote "origin"]
fetch = +refs/heads/projectA/*:refs/remotes/origin/projectA/*
我期望值为git-fetch manual表示有关默认行为:指向从远程存储库下载的对象的标记将在本地获取并存储。
也就是说,如果我提取projectA/*
,只有指向A1,A2,...或An的标签应该被获取。然而,当我在本地projectA git上运行git fetch origin
时,说projectB/blah
标记指向提交Bn
被提取到本地。
我完全困惑。有什么我做错了吗? “默认行为”是什么意思?git fetch
有没有--tags
?
在我的情况下,分支命名空间指的是完全独立的项目。例如,分支'projectA/*'和'projectB/*'必须没有交集,并且'projectB/blah'标记不能在任何'projectA/*'分支中提交。因此,当我获取'projectA/*'时,我期望我只在'projectA/*'行,即'projectA/*'标签上获得标签。 – 2014-10-07 17:22:14
所以你的意思是你有例如'refs/tags/projectB/foo'指向提交'1234567 ...(所有在服务器上)永远不会被提取(在客户端上),但'refs/tags/projectB/foo'被创建(在客户端)呢? – torek 2014-10-07 17:33:53
是的。这是我很困惑的一点:( – 2014-10-07 17:38:08