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

Push HEAD to remote branch, without having a local branch

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

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

我试过 git push my_remote HEAD:my_remotebranch_namegit 告诉我:

error: unable to push to unqualified destination: my_remotebranch_name The destination refspec neither matches an existing ref on the remote nor begins with refs/, and we are unable to guess a prefix based on the source ref.

如何实现?

我不确定我是否完全理解你的问题。这就是我的理解:您想将本地 git 头上的更改推送到远程 b运行ch,而不实际在本地创建新的 b运行ch。

我试过这样做。我拉了一个回购协议,做了一些改变 运行: git push origin master:dummy 还有 git push origin HEAD:dummy2

而且效果很好。它在您的远程仓库中创建一个新的 b运行ch 并将更改推送到那里。

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

git push my_remote HEAD:refs/heads/my_remotebranch_name

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

谢谢@phd。