git-fatal:当前分支的上游分支与当前分支的名称不匹配

在使用Git GUI执行远程分支发行版本/ rel_5.4.1的检出后,当我尝试推送时,我看到这个意外的错误消息:

fatal: The upstream branch of your current branch does not match
the name of your current branch.  To push to the upstream branch
on the remote, use

    git push origin HEAD:releases/rel_5.4.1

To push to the branch of the same name on the remote, use

    git push origin rel_5.4.1

我不知道吉特在说什么。我可能想要推送到原始版本/ rel_5.4.1,因为这是我签出的分支。所以这两个选项似乎对我来说都是正确的。

git状态说我在分支rel_5.4.1。

这是我的.git / config中显示的分支:

[branch "rel_5.4.1"]
    remote = origin
    merge = refs/heads/releases/rel_5.4.1

到底是怎么回事?

最佳答案
您的本地分支称为rel_5.4.1,但是远程分支是release / rel_5.4.1(就Git而言,/在分支名称中没有特殊含义,除了使人们更容易阅读)。

当您推送时,Git是否谨慎,无论您是要将分支推送到release / rel_5.4.1(远程分支的名称)还是要创建新的远程分支。它确实注意到名称的相似性,但是。

除非你想创建一个新的分支,正确的命令是

git push origin HEAD:releases/rel_5.4.1

你也可以使用

git push origin rel_5.4.1:releases/rel_5.4.1

要一劳永逸地修复警告,请重命名您的本地分支以匹配远程名称:

git branch -m releases/rel_5.4.1

转载注明原文:git-fatal:当前分支的上游分支与当前分支的名称不匹配 - 代码日志