git push命令

本文详细介绍了在Git中遇到`gitpush`上游分支问题的原因及解决方案。当尝试推送本地feature-1分支时,由于未关联远程分支,Git会报错。通过创建远程分支并使用`--set-upstream`参数或者直接使用`gitpushoriginfeature-1`,可以建立关联并成功推送。此外,还探讨了如何检查和管理本地与远程分支的关联。
摘要由CSDN通过智能技术生成

一、新建分支执行 git push

  • 初始化一个本地仓库。

在这里插入图片描述

  • 将本地仓库上传到远程仓库。

在这里插入图片描述

  • 查看本地仓库和远程仓库的分支信息。

在这里插入图片描述

  • 在本地仓库创建一个新的分支,此时本地仓库的分支与远程仓库没有任何关系。

在这里插入图片描述

  • 在本地仓库的 feature-1 分支上做修改。

在这里插入图片描述

  • 直接执行命令 git push,报错提示:当前分支 feature-1 没有上游分支。
  • 原因是:此时本地仓库的 feature-1 分支,和远程仓库的 feature-1 分支 没有关联。

在这里插入图片描述


二、分析

  • 首先我们在远程仓库上创建 dev 分支。

在这里插入图片描述

  • 在本地仓库联网更新远程仓库的最新状态。
  • 可以看到,远程仓库的 dev 分支已经记录在本地仓库了。

在这里插入图片描述

  • 切换到 dev 分支,显示:本地仓库的 dev 分支和远程仓库的 dev 分支是关联的。

在这里插入图片描述

  • 可以看到,我们在本地仓库的 dev 分支执行 git push 是不会报错的。
  • 原因是:本地仓库的 dev 分支和远程仓库的 dev 分支是关联,执行 git push,git 自动就明白:我们是希望将本地仓库的 dev 分支推送到远程仓库的 dev 分支。

在这里插入图片描述

  • 而 feature-1 分支没有跟远程仓库的分支有关联,所以直接执行 git push 会报错。
  • 可以看到,git 提示我们使用命令:git push --set-upstream origin feature-1。
  • 这个 --set-upstream 参数,就是关联远程仓库的意思。

在这里插入图片描述

  • 我们看看不使用 --set-upstream 参数的效果。
  • 直接执行命令:git push origin feature-1,发现可以推送。
  • 而且 git branch -a可以看到,本地仓库也记录了远程仓库的 feature-1 分支:origin/feature-1。

在这里插入图片描述

在这里插入图片描述

  • 但是我们还是发现有问题:
  • 本地仓库的 feature-1 分支跟远程仓库没有关联
  • 但是本地仓库的 master 分支和 dev 分支都 能和远程仓库关联起来
  • 即, feature-1 分支没有关联上 origin/feature-1 分支。

在这里插入图片描述

  • 我们先删除远程仓库上的 feature-1 分支。

在这里插入图片描述

在这里插入图片描述

  • 可以看到,使用参数 -u ,就能让本地仓库和远程仓库的分支关联起来。

在这里插入图片描述

  • 之后,我们再实验推送到远程仓库,就不再需要设置“上游信息”(参数 -u)了。

在这里插入图片描述
在这里插入图片描述

  • 最后删除远程仓库的分支。

在这里插入图片描述


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值