将HEAD推送到远程分支,而无需本地分支

时间:2020-02-27 05:01:15

标签: git workflow git-branch git-push git-remote

是否可以将签出的历史记录(分离的HEAD )推送到远程分支,而不签出本地分支?

如果需要相应的本地分支,可以稍后在本地签出远程分支。我不需要跟踪;而且我不想使用标签。

我尝试了git push my_remote HEAD:my_remotebranch_name,但是 git 告诉我:

错误:无法推送到不合格的目的地:my_remotebranch_name 目标refspec既不匹配远程服务器上的现有ref,也不以refs /开头,我们无法根据源ref猜测前缀。

我该如何实现?

2 个答案:

答案 0 :(得分:1)

解决方案是为远程分支使用完全限定名称,以消除歧义,而不要让 git 猜测。

git push my_remote HEAD:refs/heads/my_remotebranch_name

如果 HEAD 处于分离状态(这就是我的情况),这将起作用。

谢谢@phd。

答案 1 :(得分:0)

我不确定我是否完全理解您的问题。这是我的理解:您想将本地git头上的更改推送到远程分支,而无需在本地上实际创建新分支。

我试图那样做。我提取了一个仓库,进行了一些更改并运行:git push origin master:dummygit push origin HEAD:dummy2

它工作正常。它将在您的远程仓库中创建一个新分支,并将更改推送到该分支。