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

Git-分支管理

文章目录

  • 1.分支管理
  • 2.合并冲突
  • 3.合并模式
  • 4.补充

在这里插入图片描述

1.分支管理

Git分支管理是指在Git版本控制系统中,使用分支来管理项目的不同开发线路和并行开发的能力。通过分支,开发者可以在独立的环境中进行功能开发、bug修复等工作,而不会影响到主分支上的代码。

查看分支:

git branch

在Git中有一个HEAD指针,默认情况下指向master,而master指向的是最新的一次提交.

在这里插入图片描述
HEAD也可以指向其它分支,被指向的分支就是当前工作的分支

创建分支:

git branch [分支]

在这里插入图片描述

切换分支:

git checkout [分支]

在这里插入图片描述
合并分支:

# 需要先切换到想要合并的分支下
git merge [分支]

注意:分支就相当于一份副本,切换到分支后进行的一系列操作是没合并分支之前,是不会影响其它分支的.

删除分支(未提交):

# 需要切换到其它分支下
git branch -d [分支]

强制删除分支(提交过):

git branch -D [分支]

执行命令后,Git会立即删除指定的分支,无论它是否合并到其他分支中。

2.合并冲突

合并冲突指的是合并分支或拉取远程分支时,Git无法自动解决不同分支上对同一行代码的修改而产生的冲突。

如图所示:

在这里插入图片描述

演示:

修改test分支下的Readme文件,并进行add和commit
在这里插入图片描述

修改master分支下的Readme文件,并进行add和commit

在这里插入图片描述

进行合并,结果:
在这里插入图片描述

此时就发生合并冲突了

合并冲突的解决: 解决冲突,并重新进行add和commit操作

使用vim命令查看Readme文件,>>>之间的代码就是产生冲突的代码. HEAD是当前分支的代码.

在这里插入图片描述

如果想保留其中一方的修改,就需要把另外一方的修改给删掉.

例如保留test分支下的代码:

在这里插入图片描述

保存并退出.

在这里插入图片描述
解决合并冲突后,需要重新进行一次add和commit操作

3.合并模式

"Fast-forward"是Git中合并分支的一种类型。它指的是在合并两个分支时,当前分支指针可以直接向前移动到目标分支的最新提交,而无需进行实际的合并操作。

但使用"Fast-forward"模式 看不出是合并(merge)提交的,还是add,commit提交的.

不使用"Fast-forward"模式(推荐)进行合并

git merge --no--ff -m "描述信息" [分支]

No Fast-forward 会指向一个新的提交结点.

4.补充

一般master分支的内容要求比较稳定,而开发一般都会在新建的分支中进行

BUG分支是指用于修复软件项目中发现的BUG的临时分支。在软件开发过程中,当发现一个BUG时,可以创建一个专门的分支来处理和修复该问题,以避免对主分支或其他正在进行的开发任务产生干扰。

在这里插入图片描述

http://www.lryc.cn/news/100816.html

相关文章:

  • [Ubuntu 22.04] containerd配置HTTP方式拉取私仓Harbor
  • 入门指南:深入解析OpenCV的copyTo函数及其与rect的应用场景
  • 2018年全国硕士研究生入学统一考试管理类专业学位联考写作试题——解析版
  • 系统集成|第七章(笔记)
  • Qt —— Vs2017编译hiredis源码并测试调用(附调用hiredis库源码)
  • 深入理解设计模式:设计模式定义、设计原则以及组织编目
  • 鸿鹄协助管理华为云与炎凰Ichiban
  • Vite创建Vue+TS项目引入文件路径报错
  • 计算机里基本硬件的组成以及硬件协同
  • 2023软件设计师中级备考经验分享(文中有资料链接分享)
  • Windows 10 中无法最大化任务栏中的程序
  • 【iOS】KVOKVC原理
  • 当机器人变硬核:探索深度学习中的时间序列预测
  • C# Solidworks二次开发:自动创建虚拟零件及使用注意事项
  • vim工具 windows系统使用
  • Tesseract开源的OCR工具及python pytesseract安装使用
  • 【数理知识】自由度 degree of freedom 及自由度的计算方法
  • 苍穹外卖day09——历史订单模块(用户端)+订单管理模块(管理端)
  • 正则表达式 —— Grep
  • STC12C5A系列单片机片内看门狗的应用
  • C语言指针详解
  • RTPS规范v2.5(中文版)
  • LeetCode102.Binary-Tree-Level-Order-Traversal<二叉树的层序遍历>
  • yolov8系列[五]-项目实战-yolov8模型无人机检测
  • Redis 笔记,基本数据类型、持久化、主从、集群等等问题
  • JDK,JRE,JVM三者的关系
  • 行为型-命令模式(Command Pattern)
  • 总结942
  • MFC自定义控件使用
  • 【学习笔记】「ROI 2018 Day 2」无进位加法