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

分布式版本管理工具——git中分支的相关知识

git分支的相关知识

    • 一、前言
    • 二、git分支的相关操作
      • 1. 创建分支
        • a) 同时创建仓库和分支
        • b) 直接在版本仓库中创建分支
      • 2. 分支重命名
      • 3. 删除分支
      • 4. 分支合并
    • 三、结束语

一、前言

本篇博客主要介绍分布式版本管理工具git中分支的基础知识、操作,所谓分支,可以理解为当前工作目录的一个副本,在我们项目开发的过程中,我们可以先在开发分支(支线)上对项目进行优化、升级,待到测试没问题后,再合并到我们的产品(主线),这样的有利于我们产品开发的稳定

二、git分支的相关操作

这里我主要介绍创建分支、查看分支、切换分支、删除分支、重命名分支和分支合并。

1. 创建分支

a) 同时创建仓库和分支

在我们的工作目录下执行 git init -b (分支名)即可通知创建仓库及分支。

在这里插入图片描述

此时执行git branch指令即可查看到已有分支,这里需要注意的是,我们的仓库刚创建,并没有任何提交任何内容,因此更别提有分支了。

在这里插入图片描述

因此第一次执行git branch指令不会有任何输出,我们可以先完成一次提交后再执行即可查看到所创建的分支名。例如我这里在仓库新建一个文件并提交,再次查看即可。

在这里插入图片描述

b) 直接在版本仓库中创建分支

直接执行 git branch (分支名) 即可,这个命令仅用于创建新分支,但不会切换至新分支,要在创建分支同时切换至新分支可以用git chechout -b (新分支名)即可。

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

2. 分支重命名

执行 git branch -m (分支旧名) (分支新名)即可。

在这里插入图片描述

3. 删除分支

执行 git branch -d (分支名)即可,这里有一点需要注意 -d用于删除已合并过的分支,如果未合并过的分支要删除,就要把-d改为-D强制删除。

在这里插入图片描述

4. 分支合并

执行git merge (被合并的分支名)即可,为了方便大家理解,我这里举个例子,上面也提到过,两个不同的分支,就相当于我们看过的科幻片漫威的平行宇宙一样,两者互不相干,例如我(蜘蛛侠)把宇宙A的章鱼博士干掉了,而宇宙B的章鱼博士不受影响的。

这里我在新建一个dev分支,并在main分支上完成第二次提交

在这里插入图片描述

切换至dev 分支,然后执行git log 查看日志,可以看到并没有刚刚在main分支中的第二次提交。

在这里插入图片描述

然后我们在dev分支下合并main分支,再次git log即可看到第二次提交

在这里插入图片描述

上面的合并过程我是把main(主线)分支合并到dev(开发分支)中,在实际应用中应是把dev分支合并至main分支中的,这里就是举个例子。

三、结束语

好了,关于git中分支的相关知识操作就先介绍到这里了,我是“风行男孩”,咱们有缘再见!


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

相关文章:

  • C++ 设计模式:观察者模式(Observer Pattern)
  • 【C语言】库函数常见的陷阱与缺陷(三):内存分配函数[4]--free
  • Error: The Calculated NPWS= 84330 != The Read NPWS= 84328
  • 外网访问 Docker 容器的可视化管理工具 DockerUI
  • 20241130 RocketMQ本机安装与SpringBoot整合
  • 如何在 Ubuntu 22.04 上使用 systemctl 管理 systemd 服务教程
  • Webpack在Vue CLI中的应用
  • 7.即时通讯
  • 深度学习中batch_size
  • MySQL并发问题区别-MVCC如何解决的
  • Linux 下 Mamba 环境安装踩坑问题汇总(重置版)
  • 【前端】Vue3 父传子 Dialog 显示问题:解决方案与最佳实践
  • 狼人杀.转载
  • 神经网络初学总结(一)
  • 国密算法SM3的GmSSL代码Android实现Demo
  • 【Leecode】Leecode刷题之路第93天之复原IP地址
  • 使用Python实现智能交通信号控制系统
  • 深度学习笔记(12)——深度学习概论
  • CDN如何抵御DDoS攻击
  • 如何在 Ubuntu 22.04 上使用 systemctl 管理 systemd 服务教程
  • Pytorch | 利用MIG针对CIFAR10上的ResNet分类器进行对抗攻击
  • python lambda函数用法
  • Android `android.graphics.drawable` 包深度解析:架构与设计模式
  • zentao ubuntu上安装
  • EMNLP'24 最佳论文解读 | 大语言模型的预训练数据检测:基于散度的校准方法
  • 探索鸿蒙的蓝牙A2DP与访问API:从学习到实现的开发之旅