SourceTree 简单使用 for Mac
系统版本: 10.12.6
SourceTree版本:2.3.1 (中文版)SourceThree安装包 密码:9jc3 传送门
目录
1.创建gitHub账号和仓库
2.sourceTree管理gitHub仓库and简单使用
3.sourceTree解决问题的方法
4.sourceTree常见报错
1.创建gitHub账号和仓库
如何申请gitHub账号创建仓库在另一篇文章有 创建gitHub账号和仓库传送门
2.sourceTree管理gitHub仓库and简单使
打开SourceTree点击 +新仓库 选择 从URL克隆


粘贴在GitHub创建仓库的URL,SourceTree自动帮我们生成目标路径也就是本地地址以及名称

添加仓库成功

现在需要往我们创建的GitHub仓库中添加项目,首先点击在finder中打开 随便往里面放一个项目 关闭 文件界面回到我们SourceTree界面 点击文件状态 会看到刚才添加的项目


当项目中文件内否有所改变时 就会显示在此

点击未暂存文件 回到已暂存文件中 意思是我们允许提交到仓库 现在就可以提交 至GitHub仓库

点击提交 在文件状态 右边会提醒有多少文件有所改变

第一次提交会让输入账号密码

提交成功 会先提交至我们的本地仓库 点击推送(Push) 就会提交到GitHub仓库


创建分支 成功创建过分支以后 直接推送到GitHub仓库(跟上面的push一样) 就可以在GitHub中可以看到

合并分支

如何参入开源项目
以AFN为例 AFNetworking
点击右上角fork 如果我们想要修改别的开源项目 需要先fork开源项目 到我们的账户中 才可以修改

fork结束 将账号中的AFNetworking仓库克隆(clone)到本机SourceTree中 并推送(push)到我们GitHub远程仓库中


上传完成后 在我们的GitHub仓库中会看到我们上传的项目 我们点击compare

之后我们会进入一个compare页面 这个页面用于比较作者仓库与我们仓库的文件的不同。base fork:指的是作者仓库目录地址;head fork:指的是我们账号中fork后所产生的仓库地址。 如果有所修改直接点击Create pull request即可

如果有所修改 我们点击Pull request

在这可以输入自己更改的原因/更改的内容。这里写的文字会显示给源代码作者,如果作者接受了我们的推送请求(pull request)后,我们的代码将会上传到源代码作者的仓库内,成功为开源做贡献。如果作者拒绝了我们的推送请求(pull request)后,我们的代码将不会上传到源代码作者的仓库内。

我们点击Create Pull Request即可,系统将自动跳转到等待回复的页面,这里会显示作者是否接受我们的代码更改。
SourceTree&Git部分名词解释
克隆(clone):从远程仓库URL加载创建一个与远程仓库一样的本地仓库
提交(commit):将暂存文件上传到本地仓库(我们在Finder中对本地仓库做修改后一般都得先提交一次,再推送)
检出(checkout):切换不同分支
添加(add):添加文件到暂存区
移除(remove):移除文件至暂存区
暂存(git stash):保存工作现场
重置(reset):回到最近添加(add)/提交(commit)状态
合并(merge):将多个同名文件合并为一个文件,该文件包含多个同名文件的所有内容,相同内容抵消
抓取(fetch):从远程仓库获取信息并同步至本地仓库
拉取(pull):从远程仓库获取信息并同步至本地仓库,并且自动执行合并(merge)操作,即 pull=fetch+merge
推送(push):将本地仓库同步至远程仓库,一般推送(push)前先拉取(pull)一次,确保一致
分支(branch):创建/修改/删除分枝
标签(tag):给项目增添标签
工作流(Git Flow):团队工作时,每个人创建属于自己的分枝(branch),确定无误后提交到master分枝
终端(terminal):可以输入git命令行
3.sourceTree解决问题的方法
方法一:查看冲突,可选择'暂存区块'或者选中某行后‘暂存行块’,或者‘放弃区块’或者选中某行后‘暂存行块’

方法二:通过菜单栏->动作->解决冲突,一般在冲突较多时候采取该方法

回滚操作 回滚到上个版本

4.sourceTree常见报错
推送前未提交本地的改动,推送前提交本地改动再推送即可

网络异常报警公司网络不稳定,就会时常发生这个报警,待网络情况好转后再次尝试即可

推送的远程分支仓库权限受到只读保护,发生此报警

参考文章一
参考文章二
SourceTree 简单使用 for Mac的更多相关文章
- 安装并使用SourceTree进行代码管理(Mac环境)
应用场景 对于我们开发人员来说,熟练使用Git是最基本的技能之一.SourceTree又是一款比较好的Git UI工具,是 Windows 和Mac OS X 下免费的 Git 和 Hg 客户端,主要 ...
- Memcached 简单利用和简单了解(Mac的安装和使用)
Memcached 是一种用于分布式应用的一种缓存机制.应用也比较广泛.这里来学习一下. 首先Memcached 是分布式网站架构都需要用到的缓存机制.缓存就是服务器利用多余的空间上开辟了一个储存空间 ...
- 简单理解在Mac OS X上运行ASP.NET程序
运行ASP.NET程序的三要素: 1) CLR(.NET运行时) 2) KRE(ASP.NET运行时) 3) Web服务器 所以在Mac OS X上运行ASP.NET程序,就需要对应这三要素的东西: ...
- Mac 下使用sourcetree操作git教程
SourceTree 是 Windows 和Mac OS X 下免费的 Git 和 Hg 客户端,同时也是Mercurial和Subversion版本控制系统工具.支持创建.克隆.提交.push.pu ...
- Git本地项目上传 & SourceTree & GitHub 简单使用
Git(分布式版本控制系统) Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. Git是一个开源的分布式版本控制系统,用以有效.高速的处理从很小到非常大的项目版本管理 ...
- 【Git使用】SourceTree+Git简单使用(Windows)(转)
导读: 本人过去Git的可视化工具用的是TortoiseGit,虽然Android Studio也能进行版本管理,但是用下来,感觉SoureTree这款工具是最舒服的(免费的),下面就给大家介绍下我的 ...
- sourcetree在mac上的使用
sourcetree是git在Mac上管理代码的ui工具,当然你也可以使用命令直接使用git来管理代码,sourcetree下载下载地址:https://www.sourcetreeapp.com. ...
- iOS工程师Mac上的必备软件
原文链接 前言 iOS工程师一直都是那么的高逼格,用的是Mac电脑,耍的是iPhone手机,哇咔咔~~ 但是,作为一名iOS开发工程师,我们除了高逼格外,还必须是全能的.你不会点UI设计 ...
- mac 常用的开发工具
http://www.oschina.net/news/53946/mac-dev-tools 要清楚的认识到,我们寻找的不是开始按钮,而是程序入口,任何一个操作系统,用户要做的事情并不是找到开始菜单 ...
随机推荐
- vim的tab键设定
多在windows上编程的童鞋可能习惯于感受tab键为4个空格的长度,不过在linux系统中一般默认设定tab键为8个空格长度来显示.事实上tab也确实是8个空格的长度.不过由于习惯问题,某些童鞋还是 ...
- hdu 3926 hands in hands
https://vjudge.net/problem/HDU-3926 题意:有n个小朋友,他们之间手拉手,但是一只手只能拉一只手或者不拉,现在给出两个图,表示拉手关系,问这两个图是否同构.思路:一开 ...
- Selenium对浏览器支持的版本
最新的selenium与几种常用浏览器的版本兼容情况: selenium 3.4.0 : Mozilla GeckoDriver 0.18 -- Firefox 53 - 56 Google Ch ...
- (转)Spring3MVC 在JSP中使用@ModelAttribute
原文连接:http://liukai.iteye.com/blog/973717,仅供自己参考. 在教程中,我们将创建一个简单的Spring3MVC simple CRUD应用程序. 什么是@Mode ...
- 机器学习(4)Hoeffding Inequality--界定概率边界
问题 假设空间的样本复杂度(sample complexity):随着问题规模的增长导致所需训练样本的增长称为sample complexity. 实际情况中,最有可能限制学习器成功的因素是训练数据的 ...
- AtCoder Beginner Contest 068
A - ABCxxx 题意: 给出n,输出“ABCn”就可以了,纯水题. B - Break Number 题意: 给出n,找出从1到n的闭区间内能够被2整除最多次的数. 思路: 直接模拟. 代码: ...
- angularJS的$http.post请求,.net后台接收不到参数值的解决方案
JS通用部分 var shoppingCartModule =angular.module('starter', ['ionic'], function ($httpProvider) { // Us ...
- 走进STM32世界之Hex程序烧写
多数51单片机(STC系列单片机)的初学者都知道,在51单片机初上电时,可以通过PC机上位机软件将程序引导至bootloader,从而将新程序的hex文件下载至单片机中,完成程序的升级或是更新.在32 ...
- offsetWidth\offsetleft 等图文解释
网页可见区域宽: document.body.clientWidth;网页可见区域高: document.body.clientHeight;网页可见区域宽: document.body.offs ...
- Git时光机穿梭之版本回退
现在,你已经学会了修改文件,然后把修改提交到Git版本库,现在,再练习一次,修改readme.txt文件如下: Git is a distributed version control system. ...