Sourcetree 的基本使用

sourcetree简介

SourceTree 是 Windows 和Mac OS X 下免费的 Git 和 Hg 客户端,主要依赖可视化界面操作,省去繁琐复杂不容易理解的终端命令,SourceTree也是Mercurial和Subversion版本控制系统工具,支持创建Local repositories 和remote repositories、submit、clone、push、pull 和merge等操作,可以应用于github或者码云,类似于Xcode集成的git功能,不过SourceTree更专注于管理,具备更加直观的文件管理/源代码管理.

下载安装

下载地址:sourcetree官网
下载安装的这些酒不用多说了,应该都会。就是注册账号的时候如果没有科学上网,可能会有点慢。

使用

添加仓库

shourcetree主页

如图,可以直接从URL添加仓库,如果远端的仓库已经clone到本地,也可以直接选择“添加已经存在的本地仓库”。

功能使用

功能
  1. 提交:Commit 指本地仓库的文件提交到本地仓库保存
  2. 拉取:Pull 从关联账号的托管平台(比如github)的众多远程仓库中下载一个仓库到本地,前提是你得账号里创建的有仓库
  3. 推送:Push 将本地仓库源文件提交到本地并更新到托管平台的远程仓库中,即本地和原唱仓库都保存此时仓库中的所有内容(如果不配置ignore忽略文件的话)
  4. 抓取:Fetch 从远程仓库抓取本仓库的更新内容(比如这个项目是团队开发,别人也可能Push代码到这个仓库,这时候你可能就需要更新一下)并更新到本地仓库
  5. 分支: branch 分支本质上其实就是一个指向某次提交的可变指针HEAD,指向当前默认分支master或者上一分支.我们之所以需要创建分支分两种情况:
  • 一种是当团队开发时,为了各自干自己的活不相互影响,这时候每个哥们儿都可以从主分支上建立一个属于自己的分支出来,并在自己的分支开发,当开发完毕时,再合并到主分支即可
  • 另一种情况是个人开发,你需要集成某个功能但你又不确定自己是否可以集成成功且不影响源码,这时可以建立新分支,然后再开发,如果集成失败了,又把分支源码搞的乱七八糟,你还可以直接回滚到主分支,重新再来
  1. 合并:merge 这个当然是在有分支的前提下进行了,只有创建了分支,在分支上开发完毕后,就可以把当前分支合并到主分支或上一分支了
  2. 暂存:git stash 好像是吧.你可以理解为暂时保存,即当你修改项目时,SourceTree会检测出你哪些文件更改了,并显示到未暂存文件列表中,为什么不直接显示在已暂存文件中呢?这就好比你编辑一个word文档,在你写的时候是属于未暂存的word文件,当你不点保存就关闭word时,它会提醒你要不要保存,你点保存才会成为已暂存文件

提交、拉取、推送这些都会,这里我图文介绍一下如何创建分支、合并分支,以及如何切换到别人创建的分支上去。

创建分支

点击上图中的“分支”按钮,出现下图


创建分支

输入分支的名字,注意不要与其他的分支名字冲突,然后点击创建分支。

之后,在左侧会出现你心创建的分支,如下图,并且你的本地项目都会切换到你新创建的分支上。分支前面的小⭕️,代表你当前所处的分支。你可以双击对应分支的名字来切换分支。比如当前所处分支为新创建的new_tabbar_branch

新分支

右侧不同颜色的线条和节点代表不同的分支。在新分支上提交推送你要做的需求或改动,而不影响主分支。

合并分支

当你做完整个功能后,测试没问题,便可以提交到主分支master上,这时候就需要合并分支。你可以双击左侧的master来切换当前本地的工作副本所在分支,然后拉取一下来同步远端代码,然后点击合并按钮,来合并分支。如下图

合并分支

选择所需合并分支的相应节点,点击确定。完成合并。然后推送,推送前要注意有无冲突文件,解决冲突后,推送。

合并后,确认这个分支无用后,可以删除这个分支new_tabbar_branch的本地和远端分支,要不然无用的分支太多。

追踪别人的分支

当别人创建了一个分支,推送到远端后,如果此时需要你合作开发此功能,则需要你追踪这个分支,怎么做呢?其实很简单,如下图


远程分支

只需要双击远程的相应分支,自己本地工作副本便会切换到相应分支,如图:


检出分支

之后本地便会多处相应分支,如图:
本地切换到相应分支

其他

sourcetree还有很多其他实用的功能,比如:

搜索

搜索可以根据你提交时填写的信息找到相应版本。比如四月份你要找一月份的某次修改,可以用此功能,很方便。所以,建议大家每次提交的时候尽可能好好地写一下改动内容,方便以后查看
还有就是方便地查看每次提交的改动内容,
查看更改内容

如果看到某一块儿改错了可以直接回滚区块,而不会把整个文件都回滚。
还有很多其他的实用功能,我这里就不一一赘述了。
可能有人觉得用终端命令更方便,也更高大上,但sourcetree还是更直观,当然基本的命令还是要掌握的,总不能git clone也不知道吧。总之,见仁见智吧。

你可能感兴趣的:(Sourcetree 的基本使用)