2013-12-18 70 views
4

仓库时,我混融三次教的git回购使用读树该怎么办标签碰撞。有标签名称冲突。有什么方法可以从远程“获取”并在发生冲突时映射标签名称?合并Git中

回答

3

是,排序的(所以也许“不”是更准确的,但你可以得到你想要的东西,与工作)。也就是说,有没有办法导航地图标签有条件,但它是很容易导航地图标签总是

当您运行git fetch remote(不含--tags)时,git fetch使用remote.remote.fetch下的配置条目来控制提取哪个引用名称。当您运行git fetch remote --tags它的行为,如果你给了它refs/tags/*:refs/tags/*在命令行上,或者对等地,行为如同在配置中的所有条目暂时与一个单一的Refspec更换。

看看分支机构的实际参数,你会发现,例如,remote.origin.fetch被设置为+refs/heads/*:refs/remotes/origin/*。 的+原因被迫更新(即,更新即使结果不是快进),其余副本遥控器的refs/heads/master到本地refs/remotes/origin/master(如果需要创建它)。

标签住在refs/tags/名称空间(vs分支,在refs/heads/和远程分支在refs/remotes/)。没有“远程标签”这样的东西,但是你可以把它组装起来,过去没有“笔记”这样的东西,现在有一个名字空间。所以:

git config --add remote.origin.fetch 'refs/tags/*:refs/rtags/origin/*' 

会添加一行到配置为remote.origin.fetch,这将使git fetch origin带来了他们的标签,但它们存储在这个新的“远程标签”的名字空间。

一旦获取完成(和您已经为其它远程运行其他取),你可以做你自己的映射,无论在refs/rtags/*卷起。


假设你没有设置如镜。