Git: fatal:The 当前分支 XXX 没有上游分支(但它有上游分支)
Git: fatal:The current branch XXX has no upstream branch (but it HAS the upstream branch)
我们使用 git + Jira + Bitbucket。
场景:
我在 Jira 中创建了(使用 Create branch
选项)分支 XXX
.
在 Bitbucket 中,我看到分支 XXX
出现在分支列表中。
修改代码=> git commit
.
git push
给出:fatal: The current branch XXX has no upstream branch.
提问:出现这个错误的原因是什么?分支 XXX
有 上游分支(我在 Jira 中看到这个上游分支 XXX
。)
请注意:在出现此错误之前,我使用了 git push
,没有附加参数。
UPD0:@RadioSilence 建议使用 git branch -vv
命令!我做到了,它帮助我看到 "the local branch is not tracking the upstream"。 原因(很可能)是我之前对该分支的一些git命令,这显然导致该分支禁用了对上游的跟踪。 (默认情况下,在检查使用 Jira 创建的任何分支后,分支 是 跟踪上游,因此 git push
不需要额外的 commands/options。)
结果(解):
我已将导致问题的分支名称从 XXX
更改为 XXX_01
。
git checkout XXX
=> 添加更改(通过 git stash apply stash@{0}
)=> git commit
.
git push
(没有额外的 commands/options)并且它按预期工作。
P.S。如果有人知道如何无意中禁用分支(使用 Jira 创建)对上游的跟踪,请告诉我们。
如评论中所述,本地分支未跟踪上游。这可以通过运行宁git branch -vv
验证。如果本地分支没有列出上游,则运行 git push -u origin XXX
.
如果您使用 sourcetree 作为将更改推送到 bitbucket 服务器的界面,请单击终端按钮。然后 运行 以下命令带有需要将更改推送到的远程分支名称。
git branch --set-upstream <remote-branch>
我们使用 git + Jira + Bitbucket。
场景:
我在 Jira 中创建了(使用
Create branch
选项)分支XXX
.在 Bitbucket 中,我看到分支
XXX
出现在分支列表中。修改代码=>
git commit
.git push
给出:fatal: The current branch XXX has no upstream branch.
提问:出现这个错误的原因是什么?分支 XXX
有 上游分支(我在 Jira 中看到这个上游分支 XXX
。)
请注意:在出现此错误之前,我使用了 git push
,没有附加参数。
UPD0:@RadioSilence 建议使用 git branch -vv
命令!我做到了,它帮助我看到 "the local branch is not tracking the upstream"。 原因(很可能)是我之前对该分支的一些git命令,这显然导致该分支禁用了对上游的跟踪。 (默认情况下,在检查使用 Jira 创建的任何分支后,分支 是 跟踪上游,因此 git push
不需要额外的 commands/options。)
结果(解):
我已将导致问题的分支名称从
XXX
更改为XXX_01
。git checkout XXX
=> 添加更改(通过git stash apply stash@{0}
)=>git commit
.git push
(没有额外的 commands/options)并且它按预期工作。
P.S。如果有人知道如何无意中禁用分支(使用 Jira 创建)对上游的跟踪,请告诉我们。
如评论中所述,本地分支未跟踪上游。这可以通过运行宁git branch -vv
验证。如果本地分支没有列出上游,则运行 git push -u origin XXX
.
如果您使用 sourcetree 作为将更改推送到 bitbucket 服务器的界面,请单击终端按钮。然后 运行 以下命令带有需要将更改推送到的远程分支名称。
git branch --set-upstream <remote-branch>