远程仓库分支上的GIT符号引用(别名)是什么?

4

有没有办法将本地创建的别名推送到远程仓库?

我已经检出了远程分支v1.0。

我已经像这样为本地副本创建了别名(green_horn):

git symbolic-ref refs/heads/green_horn refs/heads/v1.0

我可以将它推回到远程,这样这个链接就可以在下一次从远程检出的其他用户中使用吗?

1个回答

3
简短的回答是不行。传输协议并没有以任何重大和有用的方式支持符号引用。在较新版本的Git中,通过git remote set-head,HEAD符号引用具有部分支持,但仅限于“从远程获取信息”的方向,而不是“将信息发送到远程”的方向。
这实际上并不是一个大问题,因为符号引用只对特殊名称HEAD有效。特别地,如果您要求Git删除示例green_horn名称,它将删除v1.0而不是green_horn!(我认为这是一个错误,但我不确定Git维护者是否认为这是一个错误还是一个功能。)
因此,为了设置或操作符号引用,您必须拥有其他形式的访问远程的方式。这就是为什么例如GitHub提供了非Git接口(浏览器/ REST API)来调整GitHub托管存储库的HEAD符号引用目标的原因。
术语注释:那不是别名(在Git中专指git alias和[alias]配置部分),而是符号引用。(我有点困惑,直到我阅读完整个问题,因为您称其为两件事。)

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