GUI for git|SourceTree|入门基础
原文链接:http://www.jianshu.com/p/be9f0484af9d
目录
- SourceTree简介
- SourceTree基本使用
- SourceTree&Git部分名词解释
- 相关连接推荐
一、SourceTree简介
SourceTree 是 Windows 和Mac OS X 下免费的 Git 和 Hg 客户端,拥有可视化界面,容易上手操作。同时它也是Mercurial和Subversion版本控制系统工具。支持创建、提交、clone、push、pull 和merge等操作。
二、SourceTree基本使用
(以下以SourceTree For Mac V2.0.5.2中文版为例,托管平台以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 githubGithub Register 12.3. 默认选中免费账号,点击绿色的Finish sign up即可
Github Register 2实践入门-创建仓库 clone&pull
3.1. 创建仓库
用我们刚才创建的账号登陆github,在欢迎页点击“+ New repository“创建我们的仓库Create Repository 1或点击右上角的“+”,然后再New repository亦可
Create Repository 23.2. 按照个人需要填写仓库名、仓库描述等,建议勾选“Initialize this repository with a README”(注意此处免费账户只能选择建立public(开源)仓库),填写完成后点击Create repository
Create Repository 33.3. 至此,我们的仓库已经创建成功。创建成功后,我们在页面的右下角找到链接,点击复制
Copy Link3.4. 打开我们的SourceTree,点击:“+新仓库”,选择:“从URL克隆”
Clone 13.5. 粘贴我们的仓库链接至源URL,SourceTree会自动帮我们生成目标路径(本地仓库路径)以及名称,点击克隆
Clone 23.6. 等待数秒后,SourceTree会为我们自动打开我们刚才克隆的仓库,选择master选项,这里我们可以看到我们仓库里的所有文件
MainPage3.7. 接下来我们想要上传一个项目至我们的远程Github仓库内。我们点击右上角“在Finder”中显示。然后SourceTree会帮我们打开我们的本地仓库,我们将需要上传的项目复制到本地的Finder文件夹内,然后关闭文件夹,回到主页面。我们会发现工作副本出现了更改提示
Change Notification3.8. 我们点击工作副本,然后我们发现我们刚才上传的文件都在未暂存文件当中,此时,我们勾选“未暂存文件”
工作副本 13.9. 发现我们的文件变成了已暂存文件。此时,我们可以输入更新信息,然后,点击提交按钮
工作副本 23.10. 我们切换回master分支,会发现master分支以及推送(Push)按钮,都出现了更改提示。这表示SourceTree已经将我们刚才添加的文件成功提交到本地仓库,而本地仓库的内容则比远程仓库超前了一个版本。我们这个时候点击推送(Push)即可将本地仓库的内容同步至远程仓库。
Branch Master3.11. 点击推送(push),等待片刻即可,我们重新登录github网站,会发现我们刚才本地仓库的文件已经成功推送到远程仓库
Push实践入门-参与开源 Fork&pull request
(以下以 [https://github.com/octocat/Spoon-Knife] 举例)
4.1. 首先打开上述页面,然后点击右上角“fork”按钮。fork意味着将他人的仓库复制到我们账号中。如果我们想要参与开源项目,首先要fork下别人的项目,然后在我们复制过来的仓库中,对别人的代码做修改。fork4.2. fork完之后,我们用上文提到的方法,将自己账号中的[Spoon-Knife]仓库克隆(clone)到本机SourceTree中,并在稍作更改后,推送(push)到自己账号的远程仓库
4.2.1 在SourceTree中建立新仓库,并复制URLclone Spoon-Knife4.2.2 在本地仓库中稍作更改(如图我新建了一个Test)
Example4.2.3 通过上文方法推送(Push),登陆Github,进入Spoon-Knife仓库,发现test已经上传到我们账号的远程仓库Spoon-Knife当中
Success4.3. 上传完后,我们点击Github branch旁的绿色按钮
Pull Request 14.4. 之后我们会进入一个Compare页面,这个页面用于比较作者仓库与我们仓库的文件的不同。Base fork:指的是作者仓库目录地址;Head fork:指的是我们账号中fork后所产生的仓库地址。我们点击Create pull request即可
Compare4.5. 然后我们会进入一个Pull Request界面,在这里,我们可以输入自己更改的原因/更改的内容。这里写的文字会显示给源代码作者,如果作者接受了我们的推送请求(pull request)后,我们的代码将会上传到源代码作者的仓库内,成功为开源做贡献。如果作者拒绝了我们的推送请求(pull request)后,我们的代码将不会上传到源代码作者的仓库内。
Pull Request 24.6. 我们点击Create Pull Request即可,系统将自动跳转到等待回复的页面,这里会显示作者是否接受我们的代码更改。
Pull Request 3三、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命令行
四、相关链接推荐
上文均为个人拙见,欢迎大家讨论交流
作者:[SeaHub]
作者邮箱:[seahub@163.com]
关于转载:欢迎转载,但未经作者同意,必须在文章中给出原文连接。
原文链接:http://www.jianshu.com/p/be9f0484af9d
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
GUI for git|SourceTree|入门基础的更多相关文章
- 【Git项目管理】git新手入门——基础教程
一.Git工作流程 直接上手看图,了解Git工具的工作流程: 以上包括一些简单而常用的命令,但是先不关心这些,先来了解下面这4个专有名词. Workspace:工作区 Index / Stage:暂存 ...
- GIT 从入门到放弃大整理
跟着廖雪峰学 GIT http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 GUI f ...
- Git 快速入门--Git 基础
Git 快速入门 Git 基础 那么,简单地说,Git 究竟是怎样的一个系统呢? 请注意接下来的内容非常重要,若你理解了 Git 的思想和基本工作原理,用起来就会知其所以然,游刃有余. 在开始学习 G ...
- Git入门基础详情教程
前言 写了一篇文章<一篇文章了解Github和Git教程>还觉得不错,继续写了<为了Github默默付出,我想了解你>,那么继续写Git 基础知识. Git 官网:https: ...
- C++ STL编程轻松入门基础
C++ STL编程轻松入门基础 1 初识STL:解答一些疑问 1.1 一个最关心的问题:什么是STL 1.2 追根溯源:STL的历史 1.3 千丝万缕的联系 1.4 STL的不同实现版本 2 牛刀小试 ...
- 分布式进阶(十六)Zookeeper入门基础
Zookeeper入门基础 前言 在Zookeeper中,znode是一个跟Unix文件系统路径相似的节点,可以往这个节点存储或获取数据.如果在创建znode时Flag设置为EPHEMERAL,那么当 ...
- HBase入门基础教程之单机模式与伪分布式模式安装(转)
原文链接:HBase入门基础教程 在本篇文章中,我们将介绍Hbase的单机模式安装与伪分布式的安装方式,以及通过浏览器查看Hbase的用户界面.搭建HBase伪分布式环境的前提是我们已经搭建好了Had ...
- HBase入门基础教程 HBase之单机模式与伪分布式模式安装
在本篇文章中,我们将介绍Hbase的单机模式安装与伪分布式的安装方式,以及通过浏览器查看Hbase的用户界面.搭建HBase伪分布式环境的前提是我们已经搭建好了Hadoop完全分布式环境,搭建Hado ...
- Git原理入门简析
为了获得更好的阅读体验,建议访问原地址:传送门 前言: 之前听过公司大佬分享过 Git 原理之后就想来自己总结一下,最近一忙起来就拖得久了,本来想塞更多的干货,但是不喜欢拖太久,所以先出一版足够入门的 ...
随机推荐
- 浅谈MySQL索引背后的数据结构及算法【转】
摘要 本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题.特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BT ...
- Sqli-labs less 29
Less-29 首先先看下tomcat中的index.jsp文件 在apache的index.php中,sql语句为 $sql="SELECT * FROM users WHERE id=' ...
- Using the viewport meta tag to control layout on mobile browsers
A typical mobile-optimized site contains something like the following: <meta name="viewport& ...
- 转:jxl导出excel(合并单元格)
Demo 代码如下: import java.io.*; import jxl.*; import jxl.format.UnderlineStyle; import jxl.write.*; pub ...
- Git 10 周年之际,创始人 Linus Torvalds 访谈
点这里 十年前的这一周,linux 内核社区面临一个根本性的挑战:他们不再能够使用他们的修复控制系统:BitKeeper,同时其他的软件配置管理遇到了对分布式系统的新需求.Linus Torvalds ...
- Flex +WebService
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="h ...
- web快速开发c/s软件构架
很久没用.net winform 做东西,对控件相对比较陌生,另外控件的UI也不是那么好改.公司项目需要有web客户端,同时有软件客户端形式.考虑再三采用webBrowser+html 来实现 .用h ...
- C# 设置程序开机自动运行(+注册表项)
有时候我们需要让软件安装好了,开机自动运行,这时我们需要把启动项加载到注册表中,需要注意的时现在很多杀毒软件在其他软件更改注册表的时候会有提示,可能会阻止.下面代码包含增加启动项到注册表和删除启动项. ...
- android-non-ui-ui-thread-communications-part-5-5
This is the last post in my series regarding Android thread communications. Parts 1 through 4 are l ...
- 叠罗汉I
叠罗汉是一个著名的游戏,游戏中一个人要站在另一个人的肩膀上.同时我们应该让下面的人比上面的人更高一点.已知参加游戏的每个人的身高,请编写代码计算通过选择参与游戏的人,我们多能叠多少个人.注意这里的人都 ...