一、前言
SourceTree安装和简单使用说明。
二、SourceTree安装
下载地址 https://www.sourcetreeapp.com 
   
三、SourceTree使用
1、克隆仓库 &拉取代码 &推送代码
这里先新建一个仓库git-project  克隆  随便写点内容,然后暂存到本地  然后写点提交信息,推送到远程仓库  对于不想要的文件,可以进行移除,或者丢弃本次修改的内容。  如果远程仓库有代码更新,可点击拉取最新代码。 
2、创建分支 &合并分支代码
创建dev 分支  写点内容提交  合并dev分支代码到master分支  合并完了记得推送到远程仓库  
如果遇到冲突(即2个人在同一文件同一位置修改了内容)
  打开此冲突文件进行合并修改再提交即可 
3、标签
用于对项目重要里程碑节点标识记录 ex:线上发版1.0.0  
4、子模块
将另外一个git仓库作为子模块存储。
ex: maven多模块项目开发中可引入一个公共的子模块
  
 如果对子模块下的内容作修改,需要在双击在子模块中提交修改 
5、子树
和子模块有点类似,但子树包含其历史提交版本记录。    
对子树下的内容修改之后,可进行单独的推送/拉取  也可查看子树修改的内容 
6、贮藏
1.部分个人配置,不方便提交,比如数据库配置文件jdbc.properties 。每次pull都会覆盖掉自己的配置。 2.代码功能未写完,但又要临时写新功能代码。之前功能的代码由于未写完,不能提交。
这时候就可以使用贮藏 功能。  下次写新功能时,应用贮藏区数据,之前的配置就乖乖回来了。 
7、重置提交
版本3 :add 3.txt版本4 :add 4.txt版本5 :add 5.txt
ex:由于新需求提交的版本4 和版本5 做错了,想要回归至版本3 ,但又可能在有些场景需要保留版本4 和版本5 的内容或彻底不要,这时候就可以使用重置提交 。  
a、软合并 :保持所有本地改动
3之后提交的文件不会丢失,且加入git版本管理 
b、混合合并 :保持工作副本并重置索引
3之后提交的文件不会丢失,且移出git版本管理 
c、强行合并 :丢弃所有改动过的工作副本
3之后提交的文件丢失 
以强行合并 为例,操作之后需要强制推送 ,因为本地仓库的HEAD指向的版本比远程仓库的旧。  这里无法勾选强制推送,那就使用如下命令完成此操作即可。
git push -f
  查看远程仓库 
8、回滚提交
版本6 :add 6.txt版本7 :add 7.txt版本8 :add 8.txt
ex:发现之前提交的版本6 有bug,想要撤销版本6 的提交,但又想保留版本7 和版本8 的提交,这时候就可以使用回滚提交 。   推送 
四、Git工作流
master :主分支,用于最终发布版本,整个项目中有且只有一个。develop :开发分支,原则上项目中有且只有一个。feature :功能分支,用于开发一个新的功能。release :预发布版本,介于develop和master之间的一个版本,主要用于测试。hotfix :修复补丁,用于修复master上的bug。
初始化
tips: 需要先创建一个develop 分支
 在develop 分支建立新的功能  开发商品功能  随便写点内容提交  完成新功能开发 
tips: 变基 和merge 类似。 变基可将分支历史并入主线。 
 开发完新功能之后,建立新的发布版本   完成发布版本 ,即合并到master分支进行上线部署准备   在远程仓库查看此次发版信息  如果线上出现bug,需要修复,则建立新的修复补丁   将bug修复之后提交代码  完成修复补丁   整条流水线如下 
关于SourceTree的使用,自己多点点应用下,很简单的^_^
今日分享语句: 要从容地着手去做一件事,一旦开始,就要坚持到底。
|