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 要清楚的认识到,我们寻找的不是开始按钮,而是程序入口,任何一个操作系统,用户要做的事情并不是找到开始菜单 ...
随机推荐
- js模块加载详解
看着java中各种import加载,在回过头来看看javascript还在自己造轮子,写各种XX的模块加载框架,ECMASCRIPT6不知什么时候能够普及.不过DT归DT,该学的还是要学. 一 同步加 ...
- POJ 2566 尺取法(进阶题)
Bound Found Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 4297 Accepted: 1351 Spe ...
- Java 9 揭秘(14. HTTP/2 Client API)
Tips 做一个终身学习的人. 在此章中,主要介绍以下内容: 什么是HTTP/2 Client API 如何创建HTTP客户端 如何使HTTP请求 如何接收HTTP响应 如何创建WebSocket的e ...
- API和schema开发过程问题汇总
场景:在日常工作中很多都是重复性的劳动,有的坑踩过一次下次很可能还回踩到,所以很有必要将这些问题记录下来,提升工作效率! 1 API 2 schema 问题:提示schame中有元素没有定义 这个时候 ...
- Android学习笔记-EditText(输入框)(二)
6.控制EditText四周的间隔距离与内部文字与边框间的距离 我们使用margin相关属性增加组件相对其他控件的距离,比如android:marginTop = "5dp" 使用 ...
- Java 字符串截取问题
编程:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串. 但是要保证汉字不被截半个,如"我ABC"4 public class StringSplit ...
- HAproxy部署配置
HAproxy部署配置 拓扑图 说明: haproxy服务器IP:172.16.253.200/16 (外网).192.168.29.140/24(内网) 博客服务器组IP:192.168.29.13 ...
- 异步加载回来的数据不受JS控制了
写成下面这种方式时,异步加载回来的数据不受JS控制 $(."orderdiv").click(function(){ $(this).find(".orderinfo&q ...
- Spyder项目创建,打开与使用
1.Spyder项目的创建 新建一个Spyder项目需要点击Spyder上方标签栏中的Projects中的New Project 2.Spyder项目的打开 Spyder项目文件夹必须 存在.spyp ...
- 网站pv统计脚本
在平时的运维工作中,我们运维人员需要清楚自己网站每天的总访问量.总带宽.ip统计和url统计等.虽然网站已经在服务商那里做了CDN加速,所以网站流量压力都在前方CDN层了像每日PV,带宽,ip统计等数 ...