1.分支的概念
分支就是科幻电影的平行宇宙,两个宇宙的你 一个学Git 一个学SSH
两个平行宇宙互不干扰,那对现在的你也没啥影响
不过,在某个时间点,两个平行宇宙合并了,你即会Git又会SSH
2. 分支在实际开发中的作用
在进行多人协作开发的时候,为了防止互相干扰,提高协同开发的体验,
建议每个开发者都基于分支进行项目功能的开发
例如:
3.master主分支
初始化本地Git仓库的时候,Git默认帮我们创建了叫做master的分支。
通常这个master分支叫做主分支
在实际工作中,master主分支的作用是:用来保存和记录整个项目已完成的功能代码
因此,不允许程序员直接在master分支上修改代码,风险高,容易导致整个项目崩溃
4.功能分支
由于不能直接在master分支上进行功能的开发,所以就又了功能分支
功能分支指的是专门专门用啦开发新功能的分支,它是临时从master分支上分叉出来的
当新功能开发且测试完毕后,需要合并到master主分支上
5.查看分支列表
使用如下命令,可以查看当前Git仓库中所有的分支列表:
git branch
注意:分支名字前面的*号表示当前所处的分支
6.创建新分支
使用如下命令,可以基于分支,创建一个新的分支
git branch 分支名称
7. 切换分支
使用如下命令,可以切换指定的分支进行开发
git checkout login
8.分支的快速创建和切换
使用如下命令,可以创建指定名称的新分支,并立即切换到新分支
# -b 表示创建一个新分支
# checkout 表示切换到刚才新建的分支上
git checkout -b 分支名称
9.合并分支
功能分支的代码开发测试完毕之后,使用如下命令,将完成后的代码合并到master主分支上
#切换到master分支
git checkout master
#在master分支上运行git merge 命令,将login分支代码合并到master分支
git merge login
10.删除分支
当把功能分支的代码合并到master主分支以后,就可以使用如下的命令,删除对应的分支
git branch -d 分支名称
11.遇到冲突时的分支合并
在两个不同的分支中,对同一个文件进行了不同的修改,Git就没法干净的合并它们
此时,我们需要打开包含冲突的文件任何手动解决冲突的那些文件
#假设:在reg分支合并到master分支期间,代码发生错误
git checkout master
git merge reg
#打开包含冲突的文件,手动解决冲突,再执行以下
git add .
git commit -m
Git分支 - 远程分支操作
如果是第一次将本地分支推送到远程仓库,需要运行如下的命令
# -u 表示把本地分支和远程分支进行关联,只在第一次推送的时候需要带,-u参数
git push -u 远程仓库的别名 本地分支名称:远程分支名称
#实际案例
git push -u origin payment:pay
#如果希望远程分支的名称和本地分支名称保持一致,可以对命令进行简化
git push -u origin payment
查看远程仓库中所有的分支列表
通过如下的命令,可以查看远程仓库中,所有的分支列表的信息
git remote show 远程仓库名称
3跟踪分支
跟踪分支指的是:从远程仓库中,把远程仓库下载到本地仓库中。需要运行如下的命令
#从远程仓库中,把对应的远程分支下载到本地仓库,保持本地分子和远程分支名称相同
git checkout 远程分支的名称
#示例
git checkout pay
#从从远程仓库中,把对应的远程分支下载到本地仓库,并把下载的本地分支进行重命名
#示例:
git checkout -b payment origin/pay
4.拉去远程分支的最新的带
#从远程仓库,拉取当前分最新的代码,保持当前分支的代码和远程分支一致
git pull
5.删除远程分支
可以使用如下的命令,删除远程仓库中指定的分支:
#删除远程仓库中,指定名称的远程分支
git push 远程仓库名称 --delete 远程分支名称
#示例
git push origin --delete
远程仓库的名字默认是origin