保姆级Git教程4-Git分支命令及其基本操作流程演示

    本教程一共5部分,这是第4部分

总目录:保姆级Git教程0-序章

 1、保姆级Git教程1-Git概述

2、保姆级Git教程2-Git安装与常用命令

3、保姆级Git教程3-Git本地仓库管理代码的基本操作流程

4、保姆级Git教程4-Git分支

5、保姆级Git教程5-Git远程仓库及其相关操作


目录

4、Git分支

        4.1、查看本地分支

        4.2、创建本地分支

        4.3、切换分支***

        4.4、合并分支***

        4.5、删除分支

        4.6、解决冲突

        4.7、分支变基      

        4.8、开发中分支使用原则

        4.9、分支基本操作流程

                4.9.1、git branch 查看分支↓↓↓

                         4.9.2、创建一个新的分支,命名为dev1

                        4.9.3、切换到dev1分支   

                4.9.4、dev1分支合并到master分支

                 4.9.5、两种方式删除分支

                4.9.6、当分支出现冲突的解决


4、Git分支

        分支是Git中特别重要的一个功能,其实就是版本,不同分支代表不同版本。分支使程序员们可以同时在不同分支上开发不同的功能,最后将分支合并到主干master上,它让团队协作开发变得非常方便。

        4.1、查看本地分支

        命令:git branch


        4.2、创建本地分支

        命令:git branch 分支名


        4.3、切换分支***

        命令:git checkout 分支名

        作用:切换到目标分支

        命令:git checkout -b 分支名

        作用:创建并切换分支

         由于git checkout 命令还可用来恢复文件,那么当文件名与分支名一样时就会产生歧义,歧义时默认是切换分支。在Git 2.23之后提供了专门用来切换分支的命令,如下所示:

        命令:git switch 分支名

        作用:专门用来切换到目标分支


        4.4、合并分支***

        命令:git merge 分支名

        作用:将一个目标分支上的提交合并到当前分支

        分支被合并后依旧存在,如果不要了就可以手动删除


        4.5、删除分支

        删除分支时不能删除当前分支,只能删除其他分支

        命令:git branch -d b1 删除分支时,如果将被删分支没有被合并,则删除失败

                   git branch -D b1 不做任何检查直接强制删除,未合并分支也可以被删除


        4.6、解决冲突

        在两个分支没有重合的修改内容(比如修改了同个文件的同一行)时合并很容易,但是如果有重合修改时就会产生冲突,产生冲突之后合并就无法自动合并

        git status命令可以查看冲突的文件

        git diff命令可以查看冲突的内容

        产生冲突合并失败后,需要手动修改冲突内容然后提交


        4.7、分支变基      

        命令:git rebase 分支名

        作用:将当前分支变基到目标分支上,变基后分支变为直线


        4.8、开发中分支使用原则

        在开发中通常有几种分支,它们各有各的任务

        1、master(生产)分支

        线上分支,也是主分支,中小规模项目作为线上运行的对应分支

        2、develop(开发)分支

        是基于master创建的分支。一般作为开发部门的主要分支,如果没有其他并行开发不同期上线要求,都可以在此版本进行开发,阶段开发完成后,需要是合并到master分支,准备上线。

        3、feature/xxxx分支
        从develop创建的分支,,一般是同期并行开发,但不同期上线时创建的分支,分支上的研发任务完成后合并到develop分支。
        4、hotfix/xxxx分支

        从master派生的分支,一般作为线上bug修复使用,修复完成后需要合并到master、test、develop分支。还有一些其他分支,在此不再详述,例如test分支(用于代码测试)、pre分支(预上线分支)等等。


        4.9、分支基本操作流程

        下面逐步演示本地的1查看分支、2创建分支、3切换分支、4合并分支、5删除分支、6解决冲突、7分支变基。

新建个本地仓库

                               

将Text1提交进仓库  ↓↓↓

                        


                4.9.1、git branch 查看分支↓↓↓

                         

可以看到目前只有一个分支master,下面我们创建一个新的分支 


                         4.9.2、创建一个新的分支,命名为dev1

                        再查看分支                        ↓↓↓

                        

                        git branch 分支名创建分支 

                        git branch查看分支时哪个绿色了就表示当前在哪个分支了,也可以看后面的括号里是哪个分支的名字


                        4.9.3、切换到dev1分支   

                        切换后再查看分支     ↓↓↓    使用git switch命令切换语义更明确   

                        

                         可以看到现在已经切换到dev1分支了

                        我们在dev1分支中添加新文件Text2并提交

                        touch创建文件,git add、git commit提交到仓库↓↓↓

                        

然后以图的方式log查看一下提交记录,看看分支间的关系

完整命令git log --pretty=oneline --all --graph --abbrev-commit

(如果有跟教程2配置别名直接git-log即可)↓↓↓

                        

此时在分支间进行切换,可以看到仓库中的内容不一样

目前处于dev1分支看仓库文件↓↓↓

                        

切换到master分支查看仓库文件↓↓↓

                        

master和dev1都是分支,可以看成不同的版本

为什么dev1会比master分支多一个Text2文件?

                        因为dev1分支是在master分支后面创建的,然后再提交了Text2,也就是说dev1的版本比master更加新

下面看个图就能明白了

如果我们在dev1分支上进行开发,完成目标开发任务后,下一步就应该将dev1分支合并到master主分支上了 


                4.9.4、dev1分支合并到master分支

要把dev1合并到master分支必须先切换到master分支

再使用git merge命令将dev1合并过来↓↓↓

由此可知,被合并了的分支并不会消失,不要了还要手动删除

我们再log一下以图的方式看看提交记录 ↓↓↓

 


                 4.9.5、两种方式删除分支

比如说合并完了之后,我不要dev1分支了,那么就可以删除它

删除操作不能删除当前分支,且有两种,普通删除与强制删除

普通删除只能删除已经合并过或没有提交记录的分支,而强制删除都可以删除

将已合并的dev1删除↓↓↓

假如我普通删除已提交的未合并分支

先创建一个新的分支dev2,并且进行提交↓↓↓ 

尝试普通删除它↓↓↓ 

这里提示错误,删除失败,原因就是这是一个有提交记录的未合并分支,普通删除就会检查它,防止你误删

假如我已经明确要删除它,那么可以使用-D强制删除↓↓↓


                4.9.6、当分支出现冲突的解决

当我们两个不同分支修改了同一个文件的同一行内容,而且内容不一致并进行合并操作时,就会提示分支冲突

 这里我在master分支上修改Text1.txt文间的第一行并提交

再修改新建分支dev3上的Text1.txt文件第一行并提交 

那么在此时进行merge合并到master分支,就会出现问题

如何解决呢?

我们可以使用git diff命令查看冲突内容

解决办法就是打开出现冲突的文件Text1.txt

你会发现它变成和指令框里的内容一样了

只能手动修改它,改成你想要的内容

比如我这里全都不要,改成666666然后提交即可↓↓↓

关于分支的操作就演示完毕了,下期见!

    本教程一共5部分,这是第4部分

总目录:保姆级Git教程0-序章

 1、保姆级Git教程1-Git概述

2、保姆级Git教程2-Git安装与常用命令

3、保姆级Git教程3-Git本地仓库管理代码的基本操作流程

4、保姆级Git教程4-Git分支

5、保姆级Git教程5-Git远程仓库及其相关操作

  • 18
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值