文章目录
SourceTree
Sourcetree是一款Git的可视化图形管理界面,提供了Windows和Mac的免费Git客户端,很方便的管理项目的代码版本。
一、GIT
1、Git的概念
Git是目前世界上最先进的分布式版本控制系统,在处理各种项目时都十分高效,而且非常的高大上。
作为一个分布式版本控制系统来说,Git是没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上。例如我们一个小团队合作开发一个项目,我们可以先建立一个远程仓库,需求分析,搭建大体框架,将项目框架上传至远程仓库,队员可以git clone项目,各自完成自己负责的部分,完善项目等,写好之后还可以比对之前的版本,本地项目写好之后上传至远程仓库,出现错误还可以版本回退等等。
2、三个区域
已暂存文件、未暂存文件、文件内容;
3、梳理GIT原理
二、SoureTree
1、SourceTree的概念
SourceTree 是 Windows 和Mac OS X 下免费的 **Git 和 Hg 客户端,**拥有可视化界面,容易上手操作。 同时它也是Mercurial和Subversion版本控制系统工具。 支持创建、提交、clone、push、pull 和merge等操作。
2、仓库相关操作
- 创建本地仓库
- 打开本地仓库
- 克隆远程仓库
- 获取
- 关联远程仓库
3、节点相关操作
-
提交:
将暂存文件上传到本地仓库。
-
重置:
是指将重置到当前操作的版本,该版本之后的所有历史操作都会清除,相当于回到当时准备提交的状态。 -
回滚提交:
回滚是指回滚这个节点的操作,但是其他节点的历史操作还存在。
4、分支相关操作
- 新建分支
-
合并分支
将分支合并到需要合并的分支上
-
删除分支
若合并完不需要后,则可以删除
-
切换分支
双击目标分支进行切换
-
制造冲突
当想合并的两条分支在同一个地方修改,则会制造冲突
-
解决冲突
-
拉取
将远程仓库上想要的分支拉取下来 -
推送
将本地仓库的分支推送到远程仓库
5、分支分类
- master分支
master 为主分支,也是用于部署生产环境的分支,确保master分支稳定性, master 分支一般由develop以及hotfix分支合并,任何时间都不能直接修改代码。
- develop 分支
develop为开发分支,始终保持最新完成以及bug修复后的代码,一般开发的新功能时,feature分支都是基于develop分支下创建的。
- feature 分支
开发新功能时,以develop为基础创建feature分支。
分支命名: feature/ 开头的为特性分支, 命名规则: feature/user_module、 feature/cart_module
- release分支
release 为预上线分支,发布提测阶段,会release分支代码为基准提测。当有一组feature开发完成,首先会合并到develop分支,进入提测时会创建release分支。
如果测试过程中若存在bug需要修复,则直接由开发者在release分支修复并提交。当测试完成之后,合并release分支到master和develop分支,此时master为最新代码,用作上线。
- hotfix 分支
分支命名: hotfix/ 开头的为修复分支,它的命名规则与feature分支类似。线上出现紧急问题时,需要及时修复,以master分支为基线,创建hotfix分支,修复完成后,需要合并到master分支和develop分支
5、其他
-
书写忽略文件:
在以后正式使用Git时会遇到项目中的一些文件不需要被跟踪,所以就有了忽略文件这个操作的产生。 -
停止跟踪
当文件已经推送到远端了,这时编辑忽略文件想要忽略你、之前推送的文件,忽略文件这时是不会生效的,你、需要先将该文件停止跟踪,之后将删除操作推送到远程仓库之后,忽略文件才会再次生效。 -
创建补丁和应用补丁
使用工作流或者点击工作栏——操作 -
贮藏
如果现在代码写到一半,需要去master修bug,这时候使用贮藏,它会将修改后的代码保存起来,当要用的时候再拿出来。 -
丢弃和移除
丢弃:丢弃就是放弃这次修改
移除:直接将文件删除(谨慎!!) -
创建标签和删除标签
三、总结
- 每次开发新功能前都先从服务器上拉取最新的代码。
- 开发人员基于develop分支在本地新建具体的开发分支,进行开发,提交到本地。
- 开发完成将本地的开发分支合并到本地的develop分支。
- 推送到服务器之前再次拉取最新的代码,解决冲突,再次提交。
- 将本地develop分支的修改推送到远端develop分支。
- 等待代码管理人员将稳定的远程develop分支合并到master分支。