git(三)分支操作
分支是 Git 重要的功能特性之一,开发人员可以在主开发线的基础上分离出新的开发线
使用分支,可以让我们从开发主线上分离出来,以免影响开发主线。
基本操作
-
查看分支
当我们使用git init命令创建本地仓库时,默认就是有一条分支,他叫主分支,即master
master.png
我们可以使用git branch 命令查看当前仓库的分支情况(目前还不能查看)
-
创建分支
git branch <name>
如果你是新创建的仓库,,是不可以直接创建的,你应该有一次提交才行,不然会报错:fatal: Not a valid object name: 'master'.
比如你可以创建一个README.md文件
- 切换分支
如果你想到分支上,你就需要使用切换分支命令
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"进行存档