git推送push时发生报错

Git报错如下:

$ git push
fatal: The current branch dev has no upstream branch.
To push the current branch and set the remote as upstream, use

    git push --set-upstream origin dev

To have this happen automatically for branches without a tracking
upstream, see 'push.autoSetupRemote' in 'git help config'.

原因

当前分支没有设置远程跟踪分支。在 Git 中,远程跟踪分支是指与远程仓库对应的本地分支。没有设置远程跟踪分支会导致 Git 不知道将本地分支推送到哪个远程分支,一般这个问题会在新的分支第一次推送时触发。

解决办法一

使用 git push --set-upstream origin <branch-name> 命令。这个命令将会推送当前分支到远程仓库,并且设置远程分支为该分支的追踪分支。在命令中,将 <branch-name> 替换为你的分支名称。

例如,在我的情况下,可以运行以下命令来解决问题:

git push --set-upstream origin dev

这样,你就成功地将当前分支与远程仓库的 dev 分支进行了关联,并且下次推送时就不需要再指定远程分支了。

这里的branch-name就是你的分支名,如果没有创建其他的分支的话,这branch-name就是master,所有你可以使用以下命令来尝试:

git push --set-upstream origin master

解决办法二

这个问题其实就是在新的分支第一次提交的时候没有加入-u参数导致的,因为Git远程仓库没有这个分支,你推送的时候系统无法判别这个新的分支应该加在何处,于是报错,所以,新的分支如果当时第一次提交,务必使用-u参数,如果忘记了,则需要使用如下命令进行补救,然后再推送

git branch -u orgin/<new-branch-name>
git push

当然,如果第一次就是用如下命令进行推送的,就不会出现报错:

git push -u origin <new-branch-name>
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值