当前位置: 首页 > article >正文

详细分析 Git 分支重命名与同步操作

目录

  • 前言
  • 1. 场景
  • 2. 扩展知识

前言

以下小知识点作为讲解介绍,文章较短,作为科普使用

🤟 找工作,来万码优才:👉 #小程序://万码优才/r6rqmzDaXpYkJZF

1. 场景

示例场景:决定将默认分支从 main 改为 master,开发者需要同步本地环境与远程一致

按以下步骤操作:

  1. 重命名本地分支:git branch -m main master,将本地的 main 分支改名为 master

  2. 同步远程分支信息:git fetch origin

  3. 将本地 master 分支绑定到远程的 master:git branch -u origin/master master

  4. 更新远程仓库的默认分支信息:git remote set-head origin -a

总体如git上的提示一样:

在这里插入图片描述

更多详细的解释如下:

  • 分支重命名:git branch -m main master
    将本地的分支名称从 main 重命名为 master
    -m 是 move 的简写,表示重命名分支
    作用:适用于需要更改分支命名规范的场景,例如仓库的默认分支从 main 改为 master

  • 获取远程分支的最新信息:git fetch origin
    该命令从远程仓库拉取分支信息,但不会自动合并
    作用:确保本地分支可以获取到远程分支的最新状态。

  • 设置本地分支与远程分支的关联:git branch -u origin/master master
    这条命令将本地的 master 分支与远程的 origin/master 分支绑定
    -u 是 --set-upstream-to 的简写,用于定义本地分支的上游分支
    作用:确保本地 master 分支可以追踪远程的 master 分支,便于后续的 git pull 和 git push 操作。

  • 设置远程仓库的默认分支:git remote set-head origin -a
    该命令用来更新远程仓库的默认分支的本地信息
    -a 是 --auto 的缩写,表示自动检测远程仓库的默认分支并同步到本地
    作用:更新本地默认分支的映射,避免因远程分支更改而导致的操作失误

2. 扩展知识

  1. 本地分支与远程分支的状态关系
    Git 中本地分支分为两种:
    跟踪分支(Tracking Branch):与远程分支绑定的本地分支
    普通分支:未绑定远程分支的本地分支,需要手动指定远程分支

绑定关系如下图所示:

本地分支 master ──── 上游分支 origin/master ──── 远程仓库的 master 分支
  1. 使用 git push --set-upstream
    如果未绑定上游分支,可以在首次推送代码时使用以下命令:git push --set-upstream origin master
    上述这个命令还可用在此场景下:重命名分支后推送失败,推送代码时提示远程不存在对应的分支
    使用以下命令创建远程分支并绑定:git push --set-upstream origin master

  2. 远程默认分支未更新
    运行 git remote set-head origin -a 后,本地未识别远程的默认分支
    手动查看远程分支并设置:git remote set-head origin master


http://www.kler.cn/a/488842.html

相关文章:

  • 图像处理 | 图像二值化
  • mysql message from server: “Too many connections“
  • Postman接口测试05|实战项目笔记
  • 03_Redis基本操作
  • 基类指针指向派生类对象,基类指针的首地址永远指向子类从基类继承的基类首地址
  • Unity:删除注册表内的项目记录
  • Harmony OS开发-ArkUI框架速成八之交叉轴和自适应
  • 【Qt】控件概述和QWidget核心属性1(enabled、geometry、windowTitle、windowIcon、QRC机制)
  • 全文搜索-搜索权限,非侵入文档同步,权限同步 ,扩展字段
  • 深度解析如何使用Linux中的git操作
  • Python 教程 - 基本语句
  • 【Golang 面试题】每日 3 题(二十四)
  • LeetCode 3297.统计重新排列后包含另一个字符串的子字符串数目 I:滑动窗口
  • 机器学习05-最小二乘法VS梯度求解
  • 单片机实现模式转换
  • 日语IT用语笔记
  • c++入门之 命名空间与输入输出
  • 力扣-数组-121 买卖股票的最佳时机
  • qml SpringAnimation详解
  • 【AI-22】深度学习框架中的神经网络2
  • 关于Java代理模式的面试题目及其答案
  • C++语言的学习路线
  • Kafka的Partition故障恢复机制与HW一致性保障-Epoch更新机制详解
  • WebRtc05:设备管理
  • HOW - Form 表单确认校验两种模式(以 Modal 场景为例)
  • Eureka缓存机制