Git分支——多人协作开发

一.了解分支

Git分支可以将主线任务(项目)分为若干个分支,一个或若干个人操控一个分支,在同一时间点各司其职,完成相对应的工作,各分支完成之后总汇在主线任务上,在最短的时间内完成项目需求,实现多人协作开发

Git分支——多人协作开发_第1张图片

多人协作开发不仅仅节省时间,还能防止互相干扰,每一个具体的开发模块都对应着一个具体的分支,提高开发效率

在初始化本地Git仓库时,其实Git已近默认帮我们创建了一个名为main的主分支,这个主分支可以用来保存和记录整个项目完成的功能代码,我们不能直接在main主分支上进行修改代码,会有一定的风险导致整个项目崩溃,所以我们在这个mian主分支上开发新分支(功能分支),是从主分支上零时分叉出来的分支,当我们项目完成之后,最终会合并到主分支上


二.Git分支的操作

1.查看分支

在创建分支前,我们需要学会怎样去查看现有的分支:

git branch
#查看当前Git仓库中所有分支列表

我们来做一个演示,当查询出来时会有某一个分支前带有 * 这个意思是你当前所处的分支

Git分支——多人协作开发_第2张图片

 看图知道我们现在处于main主分支上(conp1是我之前创建的分支)

2.创建分支

接下来我们创建一个自定义名称的分支:

git branch 分支名称
#基于当前所处的分支(我当前在main主分支中)创建了一个自定义名称的分支
#此时新分支中的代码和当前所处分支代码相同

tips:我们创建完成之后,会多出来一个新的功能分支,但是不会默认的切换到该分支,也就是说,我们现在还身处于main主分支中

Git分支——多人协作开发_第3张图片

 3.切换分支

git checkout news
#切换到指定分支上

Git分支——多人协作开发_第4张图片

现在我们切换到了指定的分支上,其实还有更加简便的方法,我们在创建的同时一并切换到新功能分支上

git checkout -b 分支名称
#创建指定名称的分支并且立即切换到新分支上

 4.合并分支

当我们的功能分支开发并测试完毕之后将会合并到主分支上,形成一个完整的项目或模块

git merge news
#在main主分支上将指定功能分支进行合并

我们刚才的切换到了news分支上,不在主分支,所以我们还不能直接进行合并,需要先切换到主分支:

Git分支——多人协作开发_第5张图片

5.删除分支 

好了,现在我们合并完成,那这个功能分支也就没用了,我们过河拆桥,删除掉它:

git branch -d 分支名称
#删除对应分支,但是如果这个分支没有合并的话,会报错,不让你删

git branch -D 分支名称
#强制删除对应分支,就算没有合并也会强制删除

tips:我们不能处在要删除的分支上,我们应该先切换到其他分支,然后再删除,我们要做的是过河拆桥,千万不要把自己也搭进去了

Git分支——多人协作开发_第6张图片 因为我们处于main主分支上,所以直接-d删除news分支就可以了

6.遇到冲突时我们应该怎么进行分支合并

假如在俩个不同的分支中,对同一个文件进行了不同的修改,那么我们合并的时候就会出现冲突,Git不明白我们需要怎么操作,所以没有办法合并它们,此时,我们可以手动操作打开这些包含冲突的文件,根据实际需求删除或者修改代码,来解决冲突

tips:解决完成冲突之后需要再次将文件放到暂存区并提交更新,完成这些,我们才可以再次执行合并操作


三.与远程仓库同步操作

1.本地分支同步推送到云端远程仓库

 如果我们只是在本地分叉出来分支没有进行任何操作的话,是不会被自动同步到云端的,需要我们手动同步之后,再进行远程仓库的操作

目前我们只有一个分支(main主分支),我们的本地仓库还有一个conp1分支,现在我们和云端同步一下:

Git分支——多人协作开发_第7张图片

git push -u 远程仓库别名 本地分支名称:远程分支别名

#远程仓库别名默认为origin(我们在上一章节提到过修改方法,这里不做解释)
#远程分支别名待我们自定义,如果想和本地分支名称一样的话,那就不需要添加 :远程分支别名


#只有第一次同步推送才会使用上面的指令,以后我们可以直接使用:
git push

好,我们上传成功: 

Git分支——多人协作开发_第8张图片

 2.查看远程仓库所有分支列表

git remote show 远程仓库名称

 获取成功,我们发现远程的仓库中有main主分支和我们新建的conp1分支:Git分支——多人协作开发_第9张图片

 3.跟踪分支

我们想要把远程仓库中的分支下载到本地仓库中(可能一个人开发是不会用到,但是多人协作开发时非常的常用):

git checkout 远程分支名称

git checkout -b 本地分支名称 远程仓库名称/远程分支名称
#下载到本地并把下载的分支进行重命名(只是在你的本地重命名)

4.拉取远程分支最新文件内容

拉取当前分支在远程仓库的最新代码或内容,保持当前分支文件和远程分支文件一致

git pull

tips:需要切换到当前分支才可以进行此操作

5.删除远程仓库指定分支 

git push 远程仓库名称 --delete 远程分支名称

你可能感兴趣的:(+,Git,Git,github,云端仓库,项目分支,分布式)