您现在的位置是:首页 >技术教程 >Git的进阶使用(二)网站首页技术教程

Git的进阶使用(二)

安幻辞 2023-06-08 12:00:02
简介Git的进阶使用(二)

在这里插入图片描述

本篇文章旨在分享本人在学习Git时的随笔记🤩

概述

  在实际的操作中,有些文件可能再不同的场合需要同时使用不同的内容,而且还不能冲突,比如项目的配置文件,我需要本地进行测试,同时还要部署到服务器上进行测试。本地环境和服务器上的环境是不一样的,所以同一个配置文件就需要根据环境的不同,进行不同的修改。

  如果将本地测试环境和服务器测试环境区分开,分别进行文件版本维护,在 Git 软件中,称之为 branch 分支。分支感觉就像树上的分叉一样,会按照不同的路线生长下去。
i5mf4p.png

1、Git 分支

1.1 主干分支

默认情况下,Git 软件中只存在一个分支,也就是主干分支(master 分支)。默认的所有操作本身就都是基于 master 分支完成的。而 master 主干分支在创建版本库时,也就是 git init 时默认就会创建。

1.2 其他分支

如果仅仅是一个分支,在某些情况并不能满足实际的需求,那么就需要创建多个不同的分支。

1.2.1 创建分支

# git branch 分支名称

git branch b1

git branch b2

i5mOuP.png

如图就是创建两个分支,都是基于 master 主干分支为基础的。

1.2.2 查看分支

i5m8et.png

1.2.3 切换分支

# git checkout 分支名称

git checkout b1

i5mrkc.png

此时添加新的文件 b1.txt
i5m3BA.png

然后提交到版本库
i5mR9o.png

此时查看会发现不同分支的版本进度信息发生了改变
i5mgZb.png

1.2.4 删除分支

# git branch -d 分支名称

Git branch -d b2

i5m7ez.png i5mEaw.png

2、Git 合并

无论我们创建多少个分支,都是因为需要在不同的工作环境中进行工作,最后都应该将所有的分支合在一起。形成一个整体。作为项目结果。
i5pADo.png

2.1 主干分支

首先我们先将主干分支的所有文件清空掉
i5pr63.png

在当前主干分支中创建一份文件 master.txt,并提交
i5pxSQ.png

2.2 其他分支

基于主干分支的内容,我们创建其他分支,并直接切换到新的分支

# git chechout -b 分支名称

git checkout -b new_branch

在新的分支中添加新文件 branch.txt

此时切换回主干分支,只有 master.txt 文件。

再切换回 new_branch 分支,branch 文件就又回来了。

2.3 合并分支

这里我们将new_branch分支的文件内容合并到主干分支中。首先先切换回主干分支
i5BGdU.png

然后执行分支合并指令

# git merge 分支名称

git merge new_branch

i5B523.png

此时再次查看文件,就会发现branch.txt文件已经可以看到了。
i5BJvF.png

3、Git 冲突

  在多分支并行处理时,每一个分支可能是基于不同版本的主干分支创建的。如果每隔分支都独立运行而不进行合并,就没有问题,但是如果在后续操作过程中进行合并的话,就有可能产生冲突。比如B1, B2的两个分支都是基于master分支创建出来的。B1分支如果和B2分支修改了同一份文件的话,那么在合并时,以哪一个文件为准呢,这就是所谓的冲突。
i5XyNN.png

3.1 主干分支

i5X4hV.png

首先我们先将主干分支的所哟文件清空掉
i5XAud.png

主干分支添加文件 test.txt,文件内容为空
i5XUHb.png

3.2 其他分支

其他主干分支,创建两个分支 B1,B2
i5Xkkw.png
i5X0pa.png

3.3 切换分支 -B1

i5X2NL.png

切换到 B1 分支,修改文件内容
i5X8e3.png

提交修改后的文件
i5XIay.png

3.4 切换分支 -B2

i5Xrk5.png

切换到 B2 分支,查看文件内容
i5X3B8.png

提交文件
i5XRJZ.png

3.5 合并分支 -B1

i5XmAF.png

切换到 master 主干分支,此时 test.txt 文件内容
在这里插入图片描述
将B1分支合并到主干分支中
i5XprH.png

3.6 合并分支 -B2

i5XgZE.png

因为B2分支也对文件进行了修改,所以如果此时合并B2分支,就会提示冲突
i5XxOC.png

查看文件内容差异
i5XEaX.png

重新提交到 master 主干分支中
i5Xz0t.png

# git commit 文件名称 -i -m 注释

i5X6BJ.png

再查看一下 Git 软件的操作日志

# git log --graph

i5XFJc.png i5XdDA.png

最后

对各位小伙伴有帮助的话,希望可以点赞❤️+收藏⭐,谢谢各位大佬~~🙌🙌🙌

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。