目录
前言
一、Sourcetree简介
二、创建分支与合并分支
三、合并冲突问题
总结
前言
今天提交项目代码时,接触到非常好用方便的可视化Git管理提交软件Sourcetree,今天记录一下使用过程
一、Sourcetree简介
-
通过Git可以进行对项目的版本管理,但是如果直接使用Git的软件会比较麻烦,因为是通过一条条命令进行操作的
-
Source则可以和Git结合,提供图形界面,使用会方便很多
二、创建分支与合并分支
- 在Gitlab上把项目的clone ssh链接copy下来
- 打开这个仓库创建自己的分支,公共仓库是有一个master分支的,但是不要直接提交到master分支,每一个参加这个项目的人需要创建一个自己的分支进行提交,这样主master分支不会被打乱,项目管理者看每分支的代码是否正确再选择是否合并到master上,
- 创建分支的必要性:此时远程仓库中已经有一个项目了,下面模拟一个场景:假设有两个程序猿A和B同时在开发这个项目,项目经理要求A增加一个听歌的功能,要求B增加一个游戏的功能,那么此时两个人就必须将远程仓库中的项目clone到他俩各自的本地
- clone下来之后会有一个默认的主分支master,可以理解成主分支,那么进行项目开发的话不会直接使用master,会去创建一个新分支进行开发,避免直接使用master改来改去最后一团糟就该崩溃了.每个人在各自的新分支中开发完成后将新分支合并到主分支就可以了
- 如果A和B在开发过程中想看看对方的代码,那就必须将各自创建的新分支推送到远程仓库,然后将对方的分支拉取下来,每次想看的话先获取,然后再拉取最新的代码到本地仓库即可
三、合并冲突问题
- 如果A和B两个程序猿同时对同一个文件进行了操作,那最后合并时就会出现冲突.
- 此时当A和B推送自己的分支到远程仓库后,项目经理MainProject拉取代码进行合并:假设首先合并Allen_dev到master没有问题,但是当合并B到master时就会提示合并出现了冲突,需要解决.
- 点击关闭,然后切换到文件状态,找到出现冲突的文件,会有相应的冲突信息:
- 有冲突就要解决,右键单击冲突文件,选择解决冲突,这里面有两个选项:
- 使用我的版本解决冲突
- 使用他人的版本解决冲突
- 我的版本指的是先合并到master分支的分支
- 采用一个人的版本,那么在冲突文件中就只会保留该人修改的代码,例如我这里就选择"使用我的版本解决冲突",那么在MainActivity中就只会保留A添加的代码