Sourcetree在mac平台下的安装与使用超详尽教程

前言

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

下载

1.登录Sourcetree官网 : https://www.sourcetreeapp.com/
附百度云网盘Sourcetree 3.0下载地址: https://pan.baidu.com/s/1X8gPIBMMsJu5KivgeIGY-Q 提取码: iug7
2.点击Download for Mac OS X,即开始自动下载,大约60M.

  • 下载过程很漫长


    Snip20171207_9.png

安装

1.解压后双击


Snip20171208_2.png

2.出现这个情况时进入 设置-->安全性与隐私-->点击仍要打开


Snip20171208_4.png
Snip20171208_5.png

Snip20171208_6.png

Snip20171208_7.png

3.主要说一下账户这一步,这一步跳过不了,必须搞一个自己的账户,如果使用已有账户的就不用说了(网上有朋友说可以使用github账户,不过我试了一下,好像并不能成功,大家也可以尝试一下),没有的话注册就可以了,但是注册过程很繁琐

  • 没有账户的小伙伴可以点击后面的"转到我的Atlassian"
    Snip20171208_11.png
  • 点击注册


    Snip20171208_4.png
  • 按要求填写账号密码,可是你发现填完了注册按钮不能点击有木有?!?!


    Snip20171208_5.png
  • 这还不让人注册了还,经过我的调查发现,这里需要用梯子...


    what a fuck ?.jpg
  • 因此刷出来的界面长这样,其中人机身份验证又跟12306的验证码一样,要验证一下你到底是不是人,大家一看都懂,我就不啰嗦了
    Snip20171208_10.png
  • (注册成功的跳过这一步------)如果大家通过这种方法注册过程中遇到各种问题没有注册成功,请尝试另一种方法用谷歌邮箱(也要梯子),跳到注册主页,然后注册google邮箱,用google邮箱登录,这样的注册方式我觉得更友善一些
    image.png
  • 登录成功后需要一些基本设置,建议在这就直接写好
    image.png

    点击连接账号.png
  • 克隆仓库:选择你github账号上的一个已经存在的仓库clone到本地,如果要新建仓库的话可以跳过设置,启动后再登录github创建新仓库(推荐)或者通过SoureTree创建一个远程仓库到你的github
    image.png

功能全面介绍

OK,拔山涉水终于安装完毕,进入主页是长这个样子

1.主页
  • 几个按钮作用:如图,其中过滤仓库搜索框其实就是个搜索框,可以根据仓库名字的关键字搜索出仓库,右上角的设置按钮比较简单这里就不再解释大家自行点开一下就明白了
    Snip20171208_22.png
  • 新建按钮解释
    Snip20171208_25.png

1.URL指的是在github账号上创建的远程仓库独有的HTTPS和SSH链接,通过这个链接可以将远程仓库克隆到本地进行管理
2.直接利用Sourcetree创建一个远程仓库到所关联的github账号
3.之前从远程仓库克隆到本地的仓库可以用于添加
4.就是创建一个本地仓库而已啦~
5.和上面说的那个按钮扫描文件夹一样的
6.创建一个文件夹将本地或远程仓库进行分组管理

2.仓库界面

接下来咱们通过具体操作来详细阐释一下整个使用过程

1.创建一个本地仓库
(注意点:如果勾选私有仓库选项,而你不是付费用户的话会创建失败,它不会提示你是因为什么创建失败的)

点击新建按钮--->创建一个本地仓库
Snip20171209_2.png
Snip20171209_4.png

2.查看本地仓库

创建完成后在本地就会出现一个文件夹,这就是咱们的本地仓库了,但是打开后是空白文件夹,这时候按快捷键command+shift+.(点),会自动显示隐藏文件,长这个样子,说明创建成功了,有兴趣的哥们儿可以打开config文件查看一下提交地址,没错就是你在关联账号上同时创建的远程仓库地址啦

Snip20171209_5.png

3.查看同时创建的远程仓库

登录关联的github账号,OK创建成功
image.png

4.查看Sourcetree中的仓库

image.png

5.创建工程

打开Xcode,在本地仓库文件夹下创建一个新项目,创建完后打开Sourcetree发现有灰色的数字,代表的新改动文件数量
image.png

6.双击仓库打开

先介绍一下界面(介绍的比较仔细,篇幅较多,懂的哥们儿可以略过)
image.png
  • 1.提交:Commit 指本地仓库的文件提交到本地仓库保存
  • 2.拉取:Pull 从关联账号的托管平台(比如github)的众多远程仓库中下载一个仓库到本地,前提是你得账号里创建的有仓库
  • 3.推送:Push 将本地仓库源文件提交到本地并更新到托管平台的远程仓库中,即本地和原唱仓库都保存此时仓库中的所有内容(如果不配置ignore忽略文件的话)
  • 4.抓取:Fetch 从远程仓库抓取本仓库的更新内容(比如这个项目是团队开发,别人也可能Push代码到这个仓库,这时候你可能就需要更新一下)并更新到本地仓库
  • 5.分支: branch 分支本质上其实就是一个指向某次提交的可变指针HEAD,指向当前默认分支master或者上一分支.我们之所以需要创建分支分两种情况:
    • 一种是当团队开发时,为了各自干自己的活不相互影响,这时候每个哥们儿都可以从主分支上建立一个属于自己的分支出来,并在自己的分支开发,当开发完毕时,再合并到主分支即可
    • 另一种情况是个人开发,你需要集成某个功能但你又不确定自己是否可以集成成功且不影响源码,这时可以建立新分支,然后再开发,如果集成失败了,又把分支源码搞的乱七八糟,你还可以直接回滚到主分支,重新再来
  • 6.合并:merge 这个当然是在有分支的前提下进行了,只有创建了分支,在分支上开发完毕后,就可以把当前分支合并到主分支或上一分支了
  • 7.暂存:git stash 好像是吧.你可以理解为暂时保存已修改内容, 原仓库代码恢复到最新的一次提交,具体怎么用可以举个例子: 假如我们正在自己的分支上修改某个功能, 修改到一半了, 另一个iOS小伙伴让你把主干分支代码合并到自己的分支, 这时候你没办法拉去代码, 没办法合并, 因为你有修改但未提交的文件, 这时候就有两个方案, 第一个方案可以暂时把自己改的东西提交一下, 再拉取合并, 第二个方案使用贮存, 将目前已经修改的代码贮存到一个标签当中, 等拉取合并完之后, 再把贮存的代码还原到自己的分支.
    所以贮存起到了暂时保存你当前修改的内容的作用,防止丢失, 让开发者方便做其他操作

7.提交并推送到远程仓库

  • 打开仓库中的工程,进入AppDelegate.m文件中随便加上一句代码,Command + S
    image.png
  • 打开Sourcetree本地仓库查看,我们发现刚才的改动的文件显示到了为暂存文件区域,选中AppDelegate.m文件,预览代码直接显示在右边的区域类,用绿色文字和+显示(如果是删除了这一行,会用红色文字和-)出修改内容,是不是一目了然
    image.png
  • 选中未暂存文件前的复选框,保存修改文件到Sourcetree,准备提交
    image.png
  • 点击左上角的提交按钮,输入提交日志(强烈建议写上,用于以后区分每次提交的代码所修改的内容),勾选立即推送的话可以直接提交到远程仓库,最后提交右下角的提交,即可保存到本地仓库和远程仓库
    image.png

    如果弹出这个框,就输入一下所关联github账号密码即可
    image.png
  • 上传成功
    image.png
    image.png
  • 进入远程仓库查看,有更新内容就标识提交成功了


    image.png

8.回滚操作

当我们提交代码到仓库后,如果想回滚到上次提交的状态时,选中左边的"历史"-->选中你要回滚的提交区块,点击右边的"回滚区块按钮",点击后,什么也不用做,直接用Xcode打开本地仓库文件中的项目查看,那行代码就消失了,即回滚成功
image.png

总结

  • 其实Xcode中也集成了git功能,但总觉得不是很直观,当你用了Sourcetree一段时间后再用Xcode自带的git可能会更熟练
  • 以上为本人使用Sourcetree中的见解,如有误区,请大家批评指正!
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,126评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,254评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,445评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,185评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,178评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,970评论 1 284
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,276评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,927评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,400评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,883评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,997评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,646评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,213评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,204评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,423评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,423评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,722评论 2 345

推荐阅读更多精彩内容