在进行多人协作开发的时候,为了防止互相干扰,提高协同开发的体验,建议每个开发者都基于分支进行项目

1. master 主分支

在初始化本地 Git 仓库的时候,Git 默认已经帮我们创建了一个名字叫做 master 的分支。通常我们把这个master 分支叫做主分支。

在实际工作中,master 主分支的作用是:用来保存和记录整个项目已完成的功能代码
因此,不允许程序员直接在 master 分支上修改代码,因为这样做的风险太高,容易导致整个项目崩溃。


2. 功能分支

由于程序员不能直接在 master 分支上进行功能的开发,所以就有了功能分支的概念。
功能分支指的是专门用来开发新功能的分支,它是临时从 master 主分支上分叉出来的,当新功能开发且测试
完毕后,最终需要合并到 master 主分支上


3. 查看分支列表

  1. git branch

查看分支情况.png
注意:分支名字前面的 * 号且为绿色表示当前所处的分支。


4. 创建分支

git branch 分支的名字

此方法创建分支但此时还未跳到创建的分支上(还在当前分支)
创建分支.png


5. 切换分支

git checkout 目标分支名字

切换到目标分支.png


6. 分支的快速创建和切换

# -b 表示创建一个新分支
# checkout 表示切换到刚才新建的分支上
git checkout -b 分支名称

快速创建并且切换.png
注意:

  • git checkout -b 分支名称是下面两条命令的简写形式:
    1.  git branch 分支名称
    1. git checkout 分支名称
    

7. 合并分支

功能分支的代码开发测试完毕之后,可以使用如下的命令,将完成后的代码合并到 master 主分支上:

# 1. 切换到 master 分支
git checkout master
# 2. 在master 分支上运行 git merge 命令,将 login 分支的代码合班到 master 分支
git merge login

合并分支.png合并分支时的注意点
假设要把 C 分支的代码合并到 A 分支,
则必须先切换到 A 分支上,再运行 git merge 命令,来合并 C 分支!


8. 删除分支

当把功能分支的代码合并到 master 主分支上以后,就可以使用如下的命令,删除对应的功能分支:

git branch -d 分支名称

删除分支.png


9. 分支合并冲突

如果在两个不同的分支中,对同一个文件进行了不同的修改,Git 就没法干净的合并它们。 此时,我们需要打开
这些包含冲突的文件然后手动解决冲突

# 假设:在把 reg 分支合并到 master 分支期间
git checkout master
git merge reg

# 打开包含冲突的文件,手动解决冲突之后,再执行如下命令
git add .
git commit -m "解决了分支合并冲突的问题"