Git代码管理工具 — 4 Git分支详解

目录

1 Git 分支概念

2 Git 分支基本操作

2.1 git branch查看与创建本地分支

2.2 git checkout切换分支

2.3 git merge合并分支

2.4 删除分支

3 解决冲突


1 Git 分支概念

Git 分支允许你从当前开发线上分离出来,进行独立的开发工作,而不会影响主分支的稳定性,意味着多人协同开发而互不影响。

在开发中,一般有如下分支使用原则与流程:

  • master分支:线上分支,主分支,中小规模项目作为线上运行的应用对应的分支;
  • develop分支:是从master创建的分支,一般作为开发部门的主要开发分支,如果没有其他并行开发不同期上线要求,都可以在此版本进行开发,阶段开发完成后,需要是合并到master分支,准备上线。
  • feature/xxxx分支:从develop创建的分支,一般是同期并行开发,但不同期上线时创建的分支,分支上的研发任务完成后合并到develop分支。
  • hotfix/xxxx分支:从master派生的分支,一般作为线上bug修复使用,修复完成后需要合并到master、test、develop分支。

还有一些其他分支,在此不再详述,例如test分支(用于代码测试)、pre分支(预上线分支)等

等。

2 Git 分支基本操作

2.1 git branch查看与创建本地分支

  • 查看分支git branch命令会列出本地仓库的所有分支,当前分支前面会有一个星号 (*) 标记。

git branch

  • 创建分支:创建一个新分支,但不会自动切换到该分支。

git branch <branch-name>

查看与创建本地分支: 

2.2 git checkout切换分支

  • 切换分支: 切换到已存在的分支,如果分支不存在,Git会报错。

git checkout <branch-name>

  • 创建并切换分支: 创建一个新的分支并立即切换到该分支:

git checkout -b <new-branch-name>

  • 切换到最新的提交: 如果你想要切换到最新的提交,可以使用:

git checkout HEAD

  • 切换到上一个分支: 如果你想要切换回上一个使用的分支,可以使用:命令

git checkout -

git checkout <branch-name>命令由master分支切换到新建的dev01分支:

2.3 git merge合并分支

git merge 命令用于将两个分支的更改合并在一起,通常会将其他分支的更改合并回主分支(通常是 master )。

以下是一些 git merge 的常用用法:

  • 合并指定分支到当前分支: 在执行 git merge 之前,你需要切换到你想要更新的分支。比如,如果你想要更新主分支,你应该先切换到主分支:

先切换到主分支

git checkout master

然后其他分支合并进master分支

git merge feature-branch

  • 合并所有最新分支到当前分支: 如果你想要合并所有分支的最新更改到当前分支,可以使用:

git merge --octopus

  • 合并并关闭分支: 如果你想要合并一个分支并且删除它,可以使用 --squash 选项将所有更改合并为一个单一的提交:

git merge --squash feature-branch

使用git merge feature-branch命令将dev01分支合并到master分支,其中(HEAD -> master, dev01) 具体含义如下:

  • HEAD:HEAD是一个指针, 表示当前Git正在指向的提交对象

  • -> master: 这个箭头表示HEAD当前指向的是master分支。

  • dev01:进行合并操作后,将dev01分支的更改合并到了master分支。

2.4 删除分支

git branch -d 是Git命令的一个选项,用于删除已经完全合并的本地分支,这里的 -d 代表 --merged

  • 删除已合并分支:这个命令会删除名为 <branch-name> 的分支,前提是这个分支上的所有更改都已经合并到了当前分支。

git branch -d <branch-name>

  • 强制删除分支: 如果你想要删除一个分支,不管它是否已经完全合并,可以使用 -D 选项,它是 --delete --force 的简写:

git branch -D <branch-name>

使用git branch -d <branch-name>命令输出已经合并的dev01分支。

3 解决冲突

当两个分支上对文件的修改可能会存在冲突,例如同时修改了同一个文件的同一行,这时就需要手动解决冲突,解决冲突步骤如下:

1)尝试合并: 当你尝试合并两个分支,如果存在冲突,Git会停止合并过程并告诉你哪些文件存在冲突。

2)查找冲突文件: 使用以下命令找出存在冲突的文件:

git status

3)手动解决冲突: 打开存在冲突的文件,Git会在冲突区域插入特殊的标记,需要手动编辑文件,决定保留哪个版本的文本,或者可能需要结合两个版本的内容。

4)将解决完冲突的文件加入暂存区: 使用以下命令将解决冲突后的文件添加到暂存区:

git add <解决冲突后的文件>

5)提交到仓库: 一旦解决了所有冲突,并且将更改的文件加入到暂存区,可以进行一次新的提交来完成合并过程:

git commit

相关推荐

  1. git分支-分支管理

    2024-07-15 18:58:03       29 阅读
  2. git分支-分支管理

    2024-07-15 18:58:03       30 阅读
  3. 工具--Git详解

    2024-07-15 18:58:03       56 阅读
  4. 工具Git详解

    2024-07-15 18:58:03       49 阅读
  5. 工具--Git详解

    2024-07-15 18:58:03       52 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-15 18:58:03       66 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-15 18:58:03       70 阅读
  3. 在Django里面运行非项目文件

    2024-07-15 18:58:03       57 阅读
  4. Python语言-面向对象

    2024-07-15 18:58:03       68 阅读

热门阅读

  1. iOS ------ ARC的工作原理

    2024-07-15 18:58:03       22 阅读
  2. Photoshop中的前景色和背景色

    2024-07-15 18:58:03       17 阅读
  3. [终端安全]-8 隐私保护和隐私计算技术

    2024-07-15 18:58:03       18 阅读
  4. Go协程与通道的综合应用问题

    2024-07-15 18:58:03       22 阅读
  5. 【ROS2】测试

    2024-07-15 18:58:03       20 阅读
  6. 「Conda」在Linux系统中安装Conda环境管理器

    2024-07-15 18:58:03       18 阅读
  7. Python学习的第一天7.15

    2024-07-15 18:58:03       23 阅读
  8. 动态内存管理(C)

    2024-07-15 18:58:03       22 阅读
  9. 算法的时间复杂度和空间复杂度-概念

    2024-07-15 18:58:03       19 阅读