2016-11-04 108 views
1

有没有办法将本地创建的别名推送到远程存储库?远程存储库分支上的GIT符号参考(别名)?

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

我已经创建别名(green_horn)的本地副本是这样的:

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

我可以推回遥控,使这一环节将可用于其他用户从远程对检查出下次?

回答

1

简短的回答是否定的。传输协议不支持任何重要且有用的符号引用。 HEAD符号引用部分支持Git的新版本,通过git remote set-head,但仅限于“从远程获取信息”方向,而不是在“将信息发送到远程”方向。

这实际上并不是一个很大的损失,因为符号引用实际上只对特殊名称HEAD有效。特别是,如果您要求Git删除您的示例green_horn名称,它将删除v1.0而不是green_horn! (我自己认为这是一个错误,但我不确定Git维护者是否认为它是一个bug或一个功能。)

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


术语注:这不是一个别名(其在GIT中特指git alias[alias]配置部分),这是一个符号引用。 (在我读完整个问题之前,我有点困惑,因为你确实称之为两件事情。)