git(三)分支操作

2021-11-02  本文已影响0人  踏莎行

分支是 Git 重要的功能特性之一,开发人员可以在主开发线的基础上分离出新的开发线
使用分支,可以让我们从开发主线上分离出来,以免影响开发主线。

基本操作

git branch <name>

如果你是新创建的仓库,,是不可以直接创建的,你应该有一次提交才行,不然会报错:fatal: Not a valid object name: 'master'.
比如你可以创建一个README.md文件

1.png
git checkout <name>

我们将当前分支切换到dev分支上,并在dev分支上,创建一个dev.md文件,然后在README.md文件中随便写点东西,

Snipaste_2021-10-31_22-36-53.png

并建立存档(git add .; git commit -m "xxx"操作),然后我们再切换回master,看看是什么结果

Snipaste_2021-10-31_22-39-25.png

同时再观察一下README文件,是空的!!!!

Snipaste_2021-10-31_22-40-19.png

所以,从这里我们就明白了,分支之间就像是平行空间,每个分支之间的操作互不影响,所以我们在多人开发时,为了不影响主线的开发,我们就可以单独分离出一个分支单独开发

git merge <name>

需要注意的是,若要合并分支,是必须要在master分支上才能进行合并的

Snipaste_2021-10-31_22-59-06.png Snipaste_2021-10-31_23-00-14.png

(附上我们刚才的流程图)


wu.png
git branch -d <name>
Snipaste_2021-10-31_23-03-59.png

如果你没有对分支合并就进行删除,git会给你一个提示

error: The branch '<name>' is not fully merged.
If you are sure you want to delete it, run 'git branch -D <name>'.

如果你要删除未合并的分支,就用D

git branch -D <name>

注意:当你在进行分支切换的时候,要对当前分支的操作进行存档,以防出现程序的丢失或污染其他分支,所以你可以先用git status命令查看当前的状态,确保当前分支工作区是干净的

git checkout -b <name>
Snipaste_2021-10-31_23-14-36.png

冲突

不论是我们单独开发或者多人协作开发,难免都会出现冲突。当多个分支修改同一个文件时,合并分支的时候就会产生冲突。
这里就不演示具体例子


Snipaste_2021-11-02_22-22-46.png

一般项目比较大,文件繁多,我们可以使用git status命令快速查看哪些文件发生了冲突


Snipaste_2021-11-02_22-25-08.png 1635863696(1).jpg

如果是你自己在做这个项目那么保留哪个你就自己清楚了,如果是团队开发的,你就需要和对应冲突模块的开发者交流,再进行冲突修改

修复成功后需要再进行一次git add . , git commit -m "xxx"进行存档

上一篇下一篇

猜你喜欢

热点阅读