GIT 远程存储库分支上的符号引用(别名)?

GIT Symbolic Reference (Alias) on remote Repository branch?

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

我查看了远程分支v1.0.

我已经为本地副本创建了别名 (green_horn),如下所示:

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

我可以将它推回远程,以便下次从远程签出的其他用户可以使用此 link 吗?

简短的回答是否定的。传输协议不以任何重要和有用的方式支持符号引用。 HEAD 符号引用在 Git 到 git remote set-head 的较新版本中有部分支持,但仅在 "obtain information from remote" 方向,而不是 "send information to remote" 方向。

这实际上并不是什么大损失,因为符号引用实际上只对特殊名称 HEAD 表现良好。特别是,如果您要求 Git 删除示例 green_horn 名称,它将删除 v1.0 而不是 green_horn! (我自己认为这是一个错误,但我不确定 Git 维护人员是否将其视为错误或功能。)

然后,为了设置或操作符号引用,您必须具有某种其他形式的远程访问权限。这就是为什么,例如,GitHub 提供了一个非 Git 接口(浏览器/REST API)来调整 HEAD 符号引用的目标 GitHub 托管的存储库。


术语说明:这不是 别名(在 Git 中具体指的是 git alias[alias] 配置部分),它是符号引用。 (在我通读整个问题之前我有点困惑,因为你把它叫做两个东西。)