您的位置:首页 > 其它

分享SourceTree的分支创建切换合并删除和标签管理等操作

2017-12-03 15:02 274 查看
今天为大家带来一篇关于“SourceTree的分支创建切换合并删除和标签管理”等操作的详细图文介绍,如需转载,请标明出处:
http://blog.csdn.net/java_android_man/article/details/78689830
SourceTree是一款非常好用的Git版本管理控制工具,良好的图形化界面为开发者管理代码也带来了很多便利。我正在使用的版本如下图:



下面就为大家分享在SourceTree上的几种常用操作:

1.克隆远程仓库



点击红色箭头处的向下箭头按钮,会出现如图选项,既可以在本地建立仓库,也可以从远程仓库克隆。

我这里主要从我自己的GitHub仓库克隆一份代码到我本地。如下图:



1.点Clone or download,出现红框链接部分,注意链接如果是https开头的最好是换成SSH协议的链接,因为Git是默认采用SSH协议的,处理速度要比HTTPS要快。

2.点击复制按钮,将链接copy到下图中



如果在初次安装git时设置有密码,将会出现如图红框输入密码的弹窗输入密码即可。clone完成后就开始进行分支的创建切换合并删除操作了。

a.创建分支:



如上图创建分支,名字叫dev,因为我本地创建过了,就不创建了。



这个时候本地就有了master和dev分支,双击其中一个分支就切换到了选中的分支,当在dev上开发完功能代码后,将dev分支提交到本地,如果dev分支不需要推送到远程仓库,直接提交就好,然后切换回本地master分支,从远程拉取最新代码确保本地master分支代码是最新版本,然后下面就可以合并代码了

下图是版本库中的分支状态:



可见我本地的dev分支要比本地master和远程master分支都要超前一个版本提交.

b.下面我们将dev分支上增加的代码合并到本地master上。



根据上图汇总的红色箭头依次选择,当然这种合并方式是快进式的合并.合并结束后不能从git时间线上分辨是否做过合并操作,有可能我们会在合并结束后删除dev分支,那样之前的dev分支上的代码片段将无法找回,那我们试试另外一种非快进式的合并操作:

命令----->

Git 禁止快速合并操作

git merge --no-ff -m
"merge with no-ff" dev

点击工具栏右上角的终端图标,在终端中输入以上以上命名,注意将你要合并的分支名称改成你对应的分支名,引号中内容是合并的日志。



合并完成后如下图:



现在我本地分支就比远程仓库超前2个版本提交。并且在操作时间线左侧图表栏可以清晰可见我们在最近的一次操作是做了合并操作,当我们将本地master推送到GitHub远程仓库后就可以放心删除本地dev分支了,因为删除后我也可以从最后一次的合并操作前检出我删除的dev分支(双击某一条提交记录即可),这就是非快进式合并的优点。

c.下面我们就可以删除本地dev分支了:



删除成功后本地就只有master分支了。当然也只是演示,在真实开发场景中,一般是远程仓库有master分支和dev分支,然后本地有对应的master和dev

分支,还有一份是我们自己的功能分支,开发完成后,将功能分支合并到本地dev分支上,然后再将dev分支合并到master上。

d.标签管理:

在我们开发迭代过程中,会遇到这种情况,当前的版本是1.0.0。但需要找到版本号0.5.0的版本提交时,可能因为时间久远,不能快速定位到当时V0.5.0的提交记录,这个时候我们就需要进行标签管理了。比如我在发布1.0.0时,只需要在这个版本最后一个提交记录上打上标签,标签名就叫"V1.0.0上线版“,那我们来试试:



只需要选中我们最后一次提交的提交记录,然后右键选择标签出现下图:



当然你也可以不选择推送标签到远程仓库,点击添加我们的标签就生成成功了。这样在我们寻找历史版本的过程就顺利多了。删除标签也是类似操作,这里就不贴图了。



本帖还会持续更新,欢迎大家留言一起讨论。最后为大家分享一个学习Git的网站:

 https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: