SourceTree 是 Windows 和Mac OS X 下免费的 Git 和 Hg 客户端,拥有可视化界面,容易上手操做。同时它也是Mercurial和Subversion版本控制系统工具。支持建立、提交、clone、push、pull 和merge等操做。git
(如下以SourceTree For Mac V2.0.5.2中文版为例,托管平台以Github为例)github
基本安装
1.1. 不建议在appstore直接搜索下载SourceTree,由于appstore里的版本已经十分老旧(好像是2012年更新的)。建议前往官网下载安装最新版,我这里也提供一个SourceTree for Mac V2.0.5.2的百度云的方便连接。 传送门→SourceTreeDownload
1.2. 拖动安装,Launchpad中打开,continue,输入github帐号按下一步完成便可。没有Github帐号的朋友,也能够跳过本步骤完成安装缓存
注册GitHub(已有Github帐号的朋友请跳过本步骤)
2.1. 打开Github官网 传送门→Github
2.2. 填写必要的信息,点击sigh up for githubapp
2.3. 默认选中免费帐号,点击绿色的Finish sign up便可工具
实践入门-建立仓库 clone&pull
3.1. 建立仓库
用咱们刚才建立的帐号登录github,在欢迎页点击“+ New repository“建立咱们的仓库fetch
或点击右上角的“+”,而后再New repository亦可网站
3.2. 按照我的须要填写仓库名、仓库描述等,建议勾选“Initialize this repository with a README”(注意此处免费帐户只能选择创建public(开源)仓库),填写完成后点击Create repositorythis
3.3. 至此,咱们的仓库已经建立成功。建立成功后,咱们在页面的右下角找到连接,点击复制命令行
3.4. 打开咱们的SourceTree,点击:“+新仓库”,选择:“从URL克隆”3d
3.5. 粘贴咱们的仓库连接至源URL,SourceTree会自动帮咱们生成目标路径(本地仓库路径)以及名称,点击克隆
3.6. 等待数秒后,SourceTree会为咱们自动打开咱们刚才克隆的仓库,选择master选项,这里咱们能够看到咱们仓库里的全部文件
3.7. 接下来咱们想要上传一个项目至咱们的远程Github仓库内。咱们点击右上角“在Finder”中显示。而后SourceTree会帮咱们打开咱们的本地仓库,咱们将须要上传的项目复制到本地的Finder文件夹内,而后关闭文件夹,回到主页面。咱们会发现工做副本出现了更改提示
3.8. 咱们点击工做副本,而后咱们发现咱们刚才上传的文件都在未暂存文件当中,此时,咱们勾选“未暂存文件”
3.9. 发现咱们的文件变成了已暂存文件。此时,咱们能够输入更新信息,而后,点击提交按钮
3.10. 咱们切换回master分支,会发现master分支以及推送(Push)按钮,都出现了更改提示。这表示SourceTree已经将咱们刚才添加的文件成功提交到本地仓库,而本地仓库的内容则比远程仓库超前了一个版本。咱们这个时候点击推送(Push)便可将本地仓库的内容同步至远程仓库。
3.11. 点击推送(push),等待片刻便可,咱们从新登陆github网站,会发现咱们刚才本地仓库的文件已经成功推送到远程仓库
实践入门-参与开源 Fork&pull request
(如下以 [https://github.com/octocat/Spoon-Knife] 举例)
4.1. 首先打开上述页面,而后点击右上角“fork”按钮。fork意味着将他人的仓库复制到咱们帐号中。若是咱们想要参与开源项目,首先要fork下别人的项目,而后在咱们复制过来的仓库中,对别人的代码作修改。
4.2. fork完以后,咱们用上文提到的方法,将本身帐号中的[Spoon-Knife]仓库克隆(clone)到本机SourceTree中,并在稍做更改后,推送(push)到本身帐号的远程仓库
4.2.1 在SourceTree中创建新仓库,并复制URL
4.2.2 在本地仓库中稍做更改(如图我新建了一个Test)
4.2.3 经过上文方法推送(Push),登录Github,进入Spoon-Knife仓库,发现test已经上传到咱们帐号的远程仓库Spoon-Knife当中
4.3. 上传完后,咱们点击Github branch旁的绿色按钮
4.4. 以后咱们会进入一个Compare页面,这个页面用于比较做者仓库与咱们仓库的文件的不一样。Base fork:指的是做者仓库目录地址;Head fork:指的是咱们帐号中fork后所产生的仓库地址。咱们点击Create pull request便可
4.5. 而后咱们会进入一个Pull Request界面,在这里,咱们能够输入本身更改的缘由/更改的内容。这里写的文字会显示给源代码做者,若是做者接受了咱们的推送请求(pull request)后,咱们的代码将会上传到源代码做者的仓库内,成功为开源作贡献。若是做者拒绝了咱们的推送请求(pull request)后,咱们的代码将不会上传到源代码做者的仓库内。
4.6. 咱们点击Create Pull Request便可,系统将自动跳转到等待回复的页面,这里会显示做者是否接受咱们的代码更改。