广告位联系
返回顶部
分享到

Git本地分支和GitHub远程分支的关联问题

相关其他 来源:互联网 作者:佚名 发布时间:2026-08-02 09:26:01 人浏览
摘要

一、本地远程 GitHub只有一个默认的master分支: 现在在本地创建一个kenny-feng分支,则要将该分支中的文件push到远程,如果直接push,则报错: The current branch kenny-feng has no upstream branch(当前分支

一、本地→远程

GitHub只有一个默认的master分支:

现在在本地创建一个kenny-feng分支,则要将该分支中的文件push到远程,如果直接push,则报错:

The current branch kenny-feng has no upstream branch(当前分支没有上流分支)

原因:因为该分支只在本地有,远程还没有

解决:设置上流分支,有两种方法:

  • 方法1:git push -u origin kenny-feng
  • 方法2:git push --set-upstream origin kenny-feng

结果:

每一个本地分支关联远程的一个分支,都会产生一个感知分支:

由此可知,本地仓库的master分支还没关联远程的master分支。kenny-feng分支是在push的时候设置关联

二、远程→本地

在远程创建了一个dev分支(本地没有),要创建本地的dev分支并关联远程的dev分支,有两种方法:

方法1:先pull下来(或用fetch),再创建并关联

step1:git pull origin dev

将该分支拉取下来,则本地仓库会产生该分支的感知分支。如果是git pull,则拉取所有分支:

现在还没有dev分支:

step2:在本地创建dev分支并将其和origin/master进行绑定,有两种方法:

(1)git checkout -b dev origin/dev

创建并切换到dev分支,同时关联origin/dev

(2)git checkout -b dev --track origin/dev

第一个dev为本地分支名,可改名,但建议和第二个dev保持一致

简写:git checkout  --track origin/dev (省略本地分支名,创建后的分支名称将和最后的dev保持一致)

如果想创建并关联,但不切换,则将两种方法前面的git checkout -b 改为git branch dev,后面不变

结果:

commitID一致,即关联成功

方法2:pull的同时就创建并关联

git pull origin dev1:dev2

(1)dev1为远程分支,dev2为本地分支,可同名

(2)git pull origin dev1:dev2  =  git pull  +  git checkout -b dev2 origin/dev1

问题:master分支还没有关联,如下图:

切回master,输入git push,提示:fatal: The current branch master has no upstream branch

解决:表示虽然一开始在本地创建了master分支,但没有push过,解决的方法并不是在本地将origin/master合并(因为合并不等于关联),或者到远程pull(因为pull最新的下来,只是更新了本地的origin/master,而master还是没有关联到origin/master),而是通过push来设置上流分支:


版权声明 : 本文内容来源于互联网或用户自行发布贡献,该文观点仅代表原作者本人。本站仅提供信息存储空间服务和不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权, 违法违规的内容, 请发送邮件至2530232025#qq.cn(#换@)举报,一经查实,本站将立刻删除。
原文链接 :
相关文章
  • Git之reset、restore、revert与reflog的使用
    git add加错了文件、刚提交就发现漏改一处、已经推送的代码需要撤回,或者误执行了git reset --hard,这些情况不能用同一条命令处理。 先确
  • git commit时eslint报错怎么忽略?

    git commit时eslint报错怎么忽略?
    错误描述 最近在做的项目时候,使用git commit 提交到本地的时候报错了,但是项目中代码是没有任何问题的,可能就是规范上有些问题, 错
  • git clone报错128怎么解决?凭据管理器添加方法亲

    git clone报错128怎么解决?凭据管理器添加方法亲
    最近我在gitee上新建了一个仓库,然后想clone到本地进行编码开发的相关操作,结果却报错如下图, git did not exit cleanly (exit code 128),看到这样
  • Git本地分支和GitHub远程分支的关联问题

    Git本地分支和GitHub远程分支的关联问题
    一、本地远程 GitHub只有一个默认的master分支: 现在在本地创建一个kenny-feng分支,则要将该分支中的文件push到远程,如果直接push,则报错:
  • git修改分支名后怎么同步到远程
    改分支名 本质就是基于旧分支新建一个分支(新分支名是自己想改成的),然后推送新分支到远程,然后再删除远程旧分支。 如果是直接在
  • Git配置URL错误:esp-mirror问题的解决
    报错现象: git clone时, 跳出jihulab.com认证框。 一、先看你实际的配置(你已确认) 1 url.https://jihulab.com/esp-mirror.insteadof https://github.com 关键
  • gitignore的设置问题介绍

    gitignore的设置问题介绍
    作用 .gitignore文件主要用于忽略不需要git管理的文件如日志、idea配置文件、项目打包后的target文件,以方便我们使用git对项目的管理。 使用
  • HarmonyOS鸿蒙吸顶效果的实现方案
    吸顶效果,即页面滚动时让某一区域(如分类导航栏)固定在顶部,随页面滚动贴在标题栏下方,类似 Android/iOS 原生设计中的 StickyHeader。
  • 零成本提升代码效率:用Cline+DeepSeek打造本地AI编

    零成本提升代码效率:用Cline+DeepSeek打造本地AI编
    手把手教你,零成本把 AI 编程助手装进 VS Code,DeepSeek-V3 满血版本地运行,代码补全/重构/调试/单测一键搞定 预计完成时间:2-3 小时 所需
  • Git Stash贮藏命令使用及说明

    Git Stash贮藏命令使用及说明
    在使用Git过程中,有时当你在项目的其它分支正在进行开发,并且该分支还尚未开发完成进行提交,这个时候需要你切换分支进行工作,这
  • 本站所有内容来源于互联网或用户自行发布,本站仅提供信息存储空间服务,不拥有版权,不承担法律责任。如有侵犯您的权益,请您联系站长处理!
  • Copyright © 2017-2022 F11.CN All Rights Reserved. F11站长开发者网 版权所有 | 苏ICP备2022031554号-1 | 51LA统计