Java教程

Git基础学习之Git分支

本文主要是介绍Git基础学习之Git分支,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

8.1 Git分支简单了解

分支在Git中相对较难,可以将分支理解为科幻电影里面的平行宇宙,如果两个平行宇宙互补干扰,那对现在的你也没啥影响

不过,在某个时间点,两个平行宇宙合并了,我们就需要处理一些问题了!

8.2 Git分支常用命令的使用

常用Git分支命令行预览

# 列出所有本地分支
git branch

# 列出所有远程分支
git branch -r

# 新建一个分支,但依然停留在当前分支
git branch [branch-name]

# 新建一个分支,并切换到该分支
git checkout -b [branch]

# 合并指定分支到当前分支
git merge [branch]

# 删除分支
git branch -d [brach-name]

# 删除远程分支
git push orgin --delete [branch-name]
git branch -dr [remote/branch]

8.2.1 列出所有本地和远程分支

1.切换到gitlearn目录下

# 切换到D盘的gitcode目录下
cd /D/ProgramFiles/Git/gitcode
# 列出gitcode目录下的所有文件
ls
# 切换到gitlearn目录下
cd gitlearn

在这里插入图片描述

2.列出本地所有分支和远程分支

# 列出所有本地分支
git branch
# 列出所有远程分支
git branch -r

在这里插入图片描述

结果:通过观察可以看到,本地分支只有一个master分支,而远程分支是origin/master

8.2.2 新建分支但不切换

1.简单介绍

# 新建一个分支,[branch-name]表示分支名,但依然停留在当前分支
git branch [branch-name]

2.使用测试

# 新建一个dev分支,表示开发分支
git branch dev
# 再次查看本地的所有分支
git branch

在这里插入图片描述

结果:成功创建了新的分支dev,本地分支变成了master和dev分支!

8.2.3 新建分支并切换到该分支

1.简单介绍

# 新建一个分支,并切换到该分支,[branch]表示创建的新分支名
git checkout -b [branch]

2.使用测试

# 新建一个test分支,表示测试分支,并且切换到test分支去
git checkout -b test
# 查看添加新分支后的本地所有分支
git branch

在这里插入图片描述

结果:成功创建了新分支test,并且切换到该分支下,本地所有分支也变为了dev、master和test三个分支!

8.2.4 使用IDEA的Git插件查看和切换分支

1.使用IDEA的Git插件查看新分支

在Git的Log日志下,我们清楚的看到了Local本地下的三个分支:test、master和dev,Remote远程此时还是只有origin下的master分支

在这里插入图片描述

由于我们刚才使用git命令切换到了test分支,所以右下角的分支显示的是test!

2.使用IDEA的Git插件切换分支

  • 点击 Git --> Log --> Local --> master --> Checkour,可以进行分支切换 (当前是test分支),当然下面还有常用的操作,如Merge into Current:合并到当前分支,Push:同步到远程仓库和Delete:删除分支等操作,这里就不一一演示了

在这里插入图片描述

  • 切换后,我们发现右下角的test分支已经变为了master分支

在这里插入图片描述

8.2.5 删除本地分支

1.简单介绍

# 删除分支,[brach-name]表示要删除的分支名
git branch -d [brach-name]

2.使用测试

# 删除test测试分支
git branch -d test
# 查看删除test分支后的本地所有分支
git branch

在这里插入图片描述

结果:成功删除test分支,本地分支只剩下了dev和master!

3.使用IDEA的Git插件查看

在 Git --> Log日志 --> Local本地下,也只剩两个分支:master和dev

在这里插入图片描述

8.3 解决多分支合并冲突问题

8.3.1 什么是多分支合并冲突问题?

如果多个分支如果并行执行,就会导致我们代码冲突,也就是用时存在多个版本!

这里举个简单例子来说明,假设某个公司要开发某个新项目,有三个分支:分别是Web-Admin (管理员,简称为分支A或者主分支)、Web-API (PC端的开发,简称为分支B)、 和Web-App (移动端开发,简称为分支C),这三个分支之间可能会存在相互调用

  • Web-Admin - A:可能会调用分支B的代码
  • Web-API - B:可能会调用分支A和分支C的代码
  • Web-App - C:可能会调用分支A的代码

遇到同一个文件在合并分支时都被修改时,如果双方都进行提交,必然会引起代码冲突:

举例来说明,假如B、C两个分支都修改一个RestFul类的xx方法并且进行合并提交,就会存在代码冲突问题 !

8.3.2 怎样解决多分支合并冲突问题?

解决的办法是我们可以修改冲突文件后再重新提交,例如发现有冲突后,就需要进行协商,是选择保留他的代码还是你的代码

8.3.3 为什么要建立多分支?

master主分支应该非常稳定,用来发布新版本,一般情况下不允许在上面工作;

一般会在新建的dev开发分支上工作,dev分支代码稳定后,才可以合并到主分支master上来;工作完后,比如要上线发布,还会有test分支,进行上线前的测试

好了,有关Git分支的学习到这里就结束了,欢迎大家学习和讨论!

参考视频链接:https://www.bilibili.com/video/BV1FE411P7B3(B站UP主遇见狂神说的Git快速入门)

这篇关于Git基础学习之Git分支的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!