0. Git分支操作
0.1 什么是分支
在版本控制过程中,使用多条线同时推进多个任务。这里说的多条先就是多个分支
在工作中,通常会多个任务由多个同事同事开始开发,一个功能一个分支,开发完成之后,合并到主分支,最终形成完整的功能系统。
0.2 分支的好处
- 同时多个分支并行开发,相互独立,互不影响,提高开发效率
- 如果一个分支功能开发失败,功能被抛弃,那么直接删除这个分支就可以了,对其他分支不会产生任何影响
0.3 分支的操作
分支操作由很多,比如查看,创建,切换分支,合并分支,处理冲突,解决冲突
-
查看分支
git branch
-
创建分支
git branch 分支名称
-
切换分支
git checkout 分支名称
-
合并分支
git merge 要合并的分支
-
解决冲突
本地修改文件,之后添加,提交即可
当前Git状态
1. 查看分支
使用git branch
查看分支
git branch
2. 创建分支
使用git branch 分支名称
创建分支
git branch branch01
git branch
3. 切换分支
使用git checkout 分支名称
,切换到对应分支
git branch
git checkout branch01
git branch
4. 合并分支
使用git merge 要合并的分支
合并分支
创建一个文件Demo3.txt,添加,提交。切换回master,合并branch01分支上的内容到master
vim Demo3.txt
git add Demo3.txt
git commit Demo3.txt -m "添加文件Demo3.txt"
git reflog
# 切换到主分支,查看并没有Demo3.txt文件的提交记录
git checkout master
git reflog
# 合并到master分支
git merge branch01
git reflog
5. 合并冲突
如果是多个分支同时更改了同一个文件的同一行,在合并分支的时候,就会产生冲突,需要解决冲突
以刚刚添加的这个Demo3.txt,master分支和branch01分支都进行第二行的更改,然后从branch01合并到master分支,就会产生冲突
# 切换到master分支,编辑Demo3.txt文件的第二行,添加,提交
git checkout master
vim Demo3.txt
aabbcc
aaa edit by master
git add Demo3.txt
git commit Demo3.txt -m 'edit by master'
git reflog
# 切换到branch01分支,编辑Demo3.txt文件的第二行,添加,提交
git checkout branch01
vim Demo3.txt
aabbcc
bbb edit by branch01
git add Demo3.txt
git commit Demo3.txt -m 'edit by branch01'
git reflog
这个时候,合并分支就会发生冲突
git check master
git merge branch01
合并冲突就是在本地对文件进行编辑,通过团队沟通,确定合并方案,完了添加,提交。即可正常解决冲突
git add Demo3.txt
# 注意,合并冲突,这儿不能加文件名
git commit -m "合并冲突"
git reflog
6. 如何避免冲突
- 如非必要,不要两个分支修改同一个文件
- 如果不可避免,先把master分支的内容合并到当前的branch01分支,合并完冲突之后,再提交到master,这样可以减少对master分支的影响
7. 删除本地分支
使用git branch -d 本地分支名称
删除本地分支
使用git branch -D 本地分支名称
强制删除本地分支
git branch
git branch -d branch01
git branch