当前位置:

首页 > 编程开发 > Git本地分支和GitHub远程分支的关联问题

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

一、本地→远程 GitHub上默认只有一个master分支,这个大家都清楚。不过,当我们在本地创建一个新的分支,比如叫kenny-feng,然后想把本地这个分支的内容推送到远程时,事情就没那么简单了。 直接执行git push,会收到一个报错: The current branch kenny-fe

本文目录

    一、本地→远程

    GitHub上默认只有一个master分支,这个大家都清楚。不过,当我们在本地创建一个新的分支,比如叫kenny-feng,然后想把本地这个分支的内容推送到远程时,事情就没那么简单了。

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

    直接执行git 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

    执行之后,效果如下:

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

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

    注意,每一个本地分支关联远程分支时,都会产生一个“感知分支”(也就是远程追踪分支):

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

    到这里会发现,本地仓库的master分支还没有关联远程的master分支,而kenny-feng分支是在push的时候顺手设置了关联。

    二、远程→本地

    反过来,如果远程已经有了一个dev分支,但本地还没有,想要在本地创建并关联,也有两种常见做法。

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

    第一步:git pull origin dev,把远程的dev分支拉下来。如果直接用git pull,它会拉取所有分支,本地仓库里就会产生该分支的感知分支:

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

    但此时本地还没有真正的dev分支:

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

    第二步:在本地创建dev分支,并绑定到origin/dev。有两种写法:

    • git checkout -b dev origin/dev —— 创建并切换到dev分支,同时关联origin/dev
    • git checkout -b dev --track origin/dev —— 同样创建并关联,且指定了跟踪关系

    第一个dev是本地分支名,可以改,但建议和远程分支名保持一致。简写版本:git checkout --track origin/dev(省略本地分支名,创建后的分支名称会自动与最后一个dev保持一致)。

    如果只想创建并关联,但不切换,可以把git checkout -b换成git branch dev,后面参数不变。

    结果如下:

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

    commitID一致,说明关联成功。

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

    一条命令搞定:git pull origin dev1:dev2

    • dev1是远程分支,dev2是本地分支,可以同名
    • 这条命令等价于git pull 加上 git checkout -b dev2 origin/dev1

    一个常见问题:master分支还没有关联,就像下面这样:

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

    切回master,执行git push,会提示:

    fatal: The current branch master has no upstream branch

    解决思路:虽然一开始在本地创建了master分支,但从未push过,所以没有关联。有人可能想通过合并origin/master来解决问题,但合并不等于关联;也有人尝试pull最新代码,但pull只会更新本地的origin/master,而master和origin/master之间依然没有关联关系。正确的做法是——通过push来设置上流分支:

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

    总结

    本地分支与远程分支的关联,本质上就是建立一条“上游”指向。无论是本地先有分支推送到远程,还是远程先有分支拉取到本地,核心都是要让本地分支知道该往哪个远程分支推送。理解了这个逻辑,遇到类似提示就不会慌了。

    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
    作者最新文章
    编程开发 GitHub
    相关文章 更多
    GitHub六个AI开源项目能做什么?软件理解、语音与求职场景
    GitHub六个AI开源项目能做什么?软件理解、语音与求职场景

    解析六个GitHub AI开源项目的具体用途,包括软件静态分析、智能体回答检查、多语言配音、求职材料生成、本地代码检索及动态歌词展示,帮助开发者根据实际需求筛选工具并正确验证结果。

    github 官网 中文怎么切换?中文界面设置教程
    github 官网 中文怎么切换?中文界面设置教程

    许多用户寻找GitHub官网的中文切换入口,但官方网页版并未提供该选项。本文解析原因,并演示如何通过浏览器内置翻译功能实现中文浏览,同时介绍GitHub移动端和文档的中文支持情况。

    百度:发布并开源端到端OCR模型,仅5天GitHub Star突破1万
    百度:发布并开源端到端OCR模型,仅5天GitHub Star突破1万

    百度开源端到端OCR模型UnlimitedOCR,专为长文档解析设计,总参数三十亿,推理激活参数约五亿七千万。发布次日登顶GitHub每日趋势榜和Python榜,五天Star数超一万,HuggingFace两个榜单同样第一。在OmniDocBenchv1.6基准测试中取得百分之九十三点九二综合成绩,刷新纪录。

    在小说搜搜找不到想看的小说怎么办?小说搜搜换源功能使用详解【必学】
    在小说搜搜找不到想看的小说怎么办?小说搜搜换源功能使用详解【必学】

    小说搜搜搜索不到结果?五种实用解决方法帮你搞定 在小说搜搜里搜不到想看的书?这事儿其实挺常见。问题多半出在书源上——要么是默认的书源还没来得及收录,要么是原先的源数据失效了,更新没跟上。别急,下面这五条解决路径,基本能覆盖绝大多数情况,操作起来也不复杂。 一、通过阅读页调出换源入口手动切换 这个方法

    怎么看B站UP主直播的真实人数?在线观看人数换算教程
    怎么看B站UP主直播的真实人数?在线观看人数换算教程

    “实时人气”不等于真实在线人数,需通过区分标识、验证列表与弹幕、第三方工具比对及互动加权扣除四步估算 当你点开B站的某个直播间,屏幕上那个“实时人气:12.8万”的数字可能让你心头一震,觉得场面火热。然而细看之下,弹幕寥寥无几,互动屈指可数——这场景是不是有点眼熟?问题来了:那个醒目的“人气值”,真

    前OpenAI高管加盟航天公司,AI人才涌向太空赛道;GitHub被曝私有仓库数据存在泄露漏洞;OpenAI发布GPT-Live全双工语音模型丨硅谷大事件
    前OpenAI高管加盟航天公司,AI人才涌向太空赛道;GitHub被曝私有仓库数据存在泄露漏洞;OpenAI发布GPT-Live全双工语音模型丨硅谷大事件

    OpenAI发布全双工语音模型GPT-Live,实现同步对话;前高管KevinWeil加入航天公司StokeSpace董事会,AI人才流向太空赛道;GitHubAIAgent被曝存在私有仓库数据泄露漏洞,引发安全质疑。

    GitHub上的文件怎么下载
    GitHub上的文件怎么下载

    说到从 GitHub 上获取文件,其实有不少途径。对于不同场景和需求,选对方法能省下不少力气。下面就把常见的几种下载方式逐一拆开聊聊。 一、通过网页直接下载 这是最直观的办法:进入仓库页面,找到目标文件,点击文件名,然后在弹出的页面中点那个绿色的“Download”按钮,文件就直接到手了。操作简单、

    过程式编程、面向对象编程、函数式编程、泛型编程、元编程
    过程式编程、面向对象编程、函数式编程、泛型编程、元编程

    命令式编程关注执行步骤,声明式描述目标,函数式强调无副作用。回调函数作为参数传递,可导致回调地狱,后由Promise解决。仿函数重载`operator()`,lambda更轻量。元编程生成代码,如模板、装饰器、宏,提升抽象能力。

    为什么safari浏览器在访问GitHub等技术网站时响应速度慢?
    为什么safari浏览器在访问GitHub等技术网站时响应速度慢?

    Safari18.6在macOSSequoia下访问GitHub时,因WebKit引擎处理CSS变更和动态DOM更新触发低效重排,导致响应缓慢。可通过清空开发缓存、暂停不活跃标签页JS执行、删除高内存网站数据、关闭隐藏IP地址与阻止跨网站跟踪来改善。

    Atom如何使用GitHub Desktop?Atom与GitHub Desktop协同工作指南
    Atom如何使用GitHub Desktop?Atom与GitHub Desktop协同工作指南

    Atom与GitHubDesktop无法集成,需要两者在同一仓库目录下各自独立工作。GitHubDesktop不支持Atom作为默认编辑器,并且Atom的GitHub包已经弃用。建议直接打开文件夹,并且确保Git配置一致。GitHubDesktop不会自动刷新,需要手动刷新。推荐Atom负责编辑,而GitHubDesktop执行Git操作。

    查看更多
    精品专题 更多
    装机必备
    装机必备

    正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

    Windows
    Windows

    正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

    PDF教程
    PDF教程

    正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

    Mac软件 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    Aperty macOS版
    Aperty macOS版
    macOS

    Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

    WINDOWS 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    PixTV 网页版
    PixTV 网页版
    Windows

    PixTV 是一款在浏览器中使用的 AI 视觉内容创作平台,提供图片、视频、音频、文字生成、AI 分镜、局部重绘、提示词反推和无限画布等工具,适合短剧、漫剧、广告及社交媒体内容制作。