sourecTree使用入门-来自简书

原文链接:http://www.jianshu.com/p/be9f0484af9d

GUI for git|SourceTree|入门基础

字数1928 阅读1231 评论4 喜欢9


目录

  1. SourceTree简介
  2. SourceTree基本使用
  3. SourceTree&Git部分名词解释
  4. 相关连接推荐

一、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.1. 不建议在appstore直接搜索下载SourceTree,因为appstore里的版本已经十分老旧(好像是2012年更新的)。建议前往官网下载安装最新版,我这里也提供一个SourceTree for Mac V2.0.5.2的百度云的方便链接。  传送门→SourceTreeDownload
      1.2. 拖动安装,Launchpad中打开,continue,输入github账号按下一步完成即可。没有Github账号的朋友,也可以跳过本步骤完成安装
    2. 注册GitHub(已有Github账号的朋友请跳过本步骤)
      2.1. 打开Github官网 传送门→Github
      2.2. 填写必要的信息,点击sigh up for github

      Github Register 1

      2.3. 默认选中免费账号,点击绿色的Finish sign up即可

      Github Register 2

    3. 实践入门-创建仓库 clone&pull
      3.1. 创建仓库
      用我们刚才创建的账号登陆github,在欢迎页点击“+ New repository“创建我们的仓库

      Create Repository 1

      或点击右上角的“+”,然后再New repository亦可

      Create Repository 2

      3.2. 按照个人需要填写仓库名、仓库描述等,建议勾选“Initialize this repository with a README”(注意此处免费账户只能选择建立public(开源)仓库),填写完成后点击Create repository

      Create Repository 3

      3.3. 至此,我们的仓库已经创建成功。创建成功后,我们在页面的右下角找到链接,点击复制

      Copy Link

      3.4. 打开我们的SourceTree,点击:“+新仓库”,选择:“从URL克隆”

      Clone 1

      3.5. 粘贴我们的仓库链接至源URL,SourceTree会自动帮我们生成目标路径(本地仓库路径)以及名称,点击克隆

      Clone 2

      3.6. 等待数秒后,SourceTree会为我们自动打开我们刚才克隆的仓库,选择master选项,这里我们可以看到我们仓库里的所有文件

      MainPage

      3.7. 接下来我们想要上传一个项目至我们的远程Github仓库内。我们点击右上角“在Finder”中显示。然后SourceTree会帮我们打开我们的本地仓库,我们将需要上传的项目复制到本地的Finder文件夹内,然后关闭文件夹,回到主页面。我们会发现工作副本出现了更改提示

      Change Notification

      3.8. 我们点击工作副本,然后我们发现我们刚才上传的文件都在未暂存文件当中,此时,我们勾选“未暂存文件”

      工作副本 1

      3.9. 发现我们的文件变成了已暂存文件。此时,我们可以输入更新信息,然后,点击提交按钮

      工作副本 2

      3.10. 我们切换回master分支,会发现master分支以及推送(Push)按钮,都出现了更改提示。这表示SourceTree已经将我们刚才添加的文件成功提交到本地仓库,而本地仓库的内容则比远程仓库超前了一个版本。我们这个时候点击推送(Push)即可将本地仓库的内容同步至远程仓库。

      Branch Master

      3.11. 点击推送(push),等待片刻即可,我们重新登录github网站,会发现我们刚才本地仓库的文件已经成功推送到远程仓库

      Push

    4. 实践入门-参与开源 Fork&pull request
      (以下以 [https://github.com/octocat/Spoon-Knife] 举例)
      4.1. 首先打开上述页面,然后点击右上角“fork”按钮。fork意味着将他人的仓库复制到我们账号中。如果我们想要参与开源项目,首先要fork下别人的项目,然后在我们复制过来的仓库中,对别人的代码做修改。

      fork

      4.2. fork完之后,我们用上文提到的方法,将自己账号中的[Spoon-Knife]仓库克隆(clone)到本机SourceTree中,并在稍作更改后,推送(push)到自己账号的远程仓库
       4.2.1 在SourceTree中建立新仓库,并复制URL

      clone Spoon-Knife

       4.2.2 在本地仓库中稍作更改(如图我新建了一个Test)

      Example

       4.2.3 通过上文方法推送(Push),登陆Github,进入Spoon-Knife仓库,发现test已经上传到我们账号的远程仓库Spoon-Knife当中

      Success

      4.3. 上传完后,我们点击Github branch旁的绿色按钮

      Pull Request 1

      4.4. 之后我们会进入一个Compare页面,这个页面用于比较作者仓库与我们仓库的文件的不同。Base fork:指的是作者仓库目录地址;Head fork:指的是我们账号中fork后所产生的仓库地址。我们点击Create pull request即可

      Compare

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

      Pull Request 2

      4.6. 我们点击Create Pull Request即可,系统将自动跳转到等待回复的页面,这里会显示作者是否接受我们的代码更改。

      Pull Request 3

      三、SourceTree&Git部分名词解释

      1. 克隆(clone):从远程仓库URL加载创建一个与远程仓库一样的本地仓库
      2. 提交(commit):将暂存文件上传到本地仓库(我们在Finder中对本地仓库做修改后一般都得先提交一次,再推送)
      3. 检出(checkout):切换不同分支
      4. 添加(add):添加文件到暂存区
      5. 移除(remove):移除文件至暂存区
      6. 暂存(git stash):保存工作现场
      7. 重置(reset):回到最近添加(add)/提交(commit)状态
      8. 合并(merge):将多个同名文件合并为一个文件,该文件包含多个同名文件的所有内容,相同内容抵消
      9. 抓取(fetch):从远程仓库获取信息并同步至本地仓库
      10. 拉取(pull):从远程仓库获取信息并同步至本地仓库,并且自动执行合并(merge)操作,即 pull=fetch+merge
      11. 推送(push):将本地仓库同步至远程仓库,一般推送(push)前先拉取(pull)一次,确保一致
      12. 分支(branch):创建/修改/删除分枝
      13. 标签(tag):给项目增添标签
      14. 工作流(Git Flow):团队工作时,每个人创建属于自己的分枝(branch),确定无误后提交到master分枝
      15. 终端(terminal):可以输入git命令行
时间: 2024-12-30 04:40:09

sourecTree使用入门-来自简书的相关文章

iOS 删除相册中照片--来自简书

来自:http://www.jianshu.com/p/ac18aa3f28c2 最近公司的app有一个新功能是在app中删除相册的照片 ,本来是一个比较简单地功能,在做的过程中却发现AssetsLibary 框架并没有提供删除相册的API,网络上查找的时候这方面的信息也很少,最终在stackoverflow上发现了一个巧妙的方法,使用[ALAsset setImageData:metadata:completionBlock:]来实现删除照片的功能,可是也有人说这个API虽然能删除照片,但是它

【来自简书】浏览器~加载,解析,渲染

昨天为了 了解浏览器是怎么处理(.html..css..js)这些文件,我看了网上的好多资料,这好多资料中,有很多是通过转载.或是转载后加之自己的理解, 但是因为自己对专业的词汇理解不好,还有一些作者将不同浏览器的处理过程混着说,总之,看完了,还是有很多疑虑的地方. 我先根据昨天了解到的内容总结一下,日后随着学的深了,再回过来补充. why 为什么要了解浏览器加载.解析.渲染这个过程? 了解浏览器如何进行加载,我们可以在引用外部样式文件,外部js时,将他们放到合适的位置,使浏览器以最快的速度将文

Linux学习资源整理(来自简书)

国内的专业Linux网站(GB) ChinaUnix Linux中国 实验楼: 免费提供了Linux在线实验环境,不用在自己机子上装系统也可以学习Linux,超方便实用! 国内的专业Linux网站(BIG5) 香港Linux用户协会:了解香港Linux的好网站. [email protected]:台湾的Linux爱好者组织,CLDP的家,列有翻译的Linux HOWTO 中文版. Chinese Linux Extensions Website :中文Linux扩展(CLE),基于Red Ha

[程序猿]推荐17个很有用的在线工具 - 简书

简 首页 专题 发钱啦 注册 登录 简首页 专题 下载手机应用 简书 交流故事,沟通想法 iOS· Android 显示模式 登录 下载简书移动应用 注册 登录 添加关注 作者 郭小力 2016.08.25 12:12 写了8570字,被20人关注,获得了67个喜欢 [程序猿]推荐17个很有用的在线工具 字数1032 阅读188 评论1 喜欢16 收藏文章 分享 1. ExplainShell.com 命令解释 对于Linux用户来说每天都会写各种命令和脚本,那么你可以使用这个网站工具来查看命令

抽空通过简书网学习了一下console,感觉高大上!

抽空看了一下简书中关于console的文章,为了便于自己今后查看,自己写了一遍!原文地址:http://www.jianshu.com/p/f961e1a03a56 测试代码在最下面 1.console.log(); console.debug()与console.info()与console.log一样 (a,b,c); 可接受多个参数,中间用逗号分开,默认输出完最后输出换行符 如果第一个参数是格式字符串(使用了格式占位符),后面的参数对应前面的占位符进行输出 占位符为一下五种%d/%i %s

献给写作者的 Markdown 新手指南 - 简书

body { font-family: 微软雅黑,"Microsoft YaHei", Georgia,Helvetica,Arial,sans-serif,宋体, PMingLiU,serif; font-size: 10.5pt; line-height: 1.5; } html, body { } h1 { font-size:1.5em; font-weight:bold; } h2 { font-size:1.4em; font-weight:bold; } h3 { fon

简书markdown教程

1 支持 Markdown 的编辑器 Windows 推荐 Sublime Text 3,强大优雅的编辑器.MarkdownPad,一款可以直接预览排版效果的编辑器. Mac 推荐 Ulysess,专注写作的编辑器,功能强大,体验一流.Macdown,可以预览排版效果. Linux 推荐 VIM,编辑器之神.当然,Emacs是神的编辑器.ReText,也可以预览. Web 推荐简书,有 Markdown 写作/预览模式.作业部落,功能强大的 Markdown 编辑器.与其他常用工具配合在 Fir

【凯子哥带你学Android】Andriod性能优化之列表卡顿——以“简书”APP为例

这几天闲得无聊,就打开手机上的开发者模式里面的"GPU过度绘制"功能,看看别家的App做的咋样,然后很偶然的打开了"简书",然后就被它的过度绘制惊呆了,于是写了这篇性能分析的文章,从一个只有APK文件的角度,说下如何寻找布局中可能存在的性能问题,以及解决方案.本文章以简书Android最新版本1.9.1进行分析. GPU过度绘制 Hierarchy View SysTrace TraceView 总结 分析资源下载 GPU过度绘制 首先打开下面两个功能开关 开发者模

《信息安全技术》简书破密

wireshark网络捕获 今天的作业是用wireshark软件捕获网络 我就用它捕获了我登的简书登录账号跟密码,密码是假的,但账号跟错误的密码都捕获成功了. 首先打开软件,点开所用的网络类型,我的是WALN 然后打开网址登录网页,登陆账号 接下来找,因为我登的是http协议,所以可以在应用显示过滤器中输入hhttp.request.method==POET来节省时间 找到了,账号 错误的密码都捕获到了 真的好神奇!越来越对这些课感兴趣了.