2016年11月8日

GUI for git|SourceTree|入门基础

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

 

目录

  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命令行

四、相关链接推荐

  1. →Github help for mac
  2. →Github help for win
  3. →极客学院Git教学视频

上文均为个人拙见,欢迎大家讨论交流
作者:[SeaHub]
作者邮箱:[seahub@163.com]
关于转载:欢迎转载,但未经作者同意,必须在文章中给出原文连接。



文/SeaHub(简书作者)
原文链接:http://www.jianshu.com/p/be9f0484af9d
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。

posted @ 2016-11-08 23:39 CodingForever 阅读(524) 评论(0) 推荐(0) 编辑

2016年8月22日

你其实真的不懂print("Hello,world")

摘要: http://www.jianshu.com/p/abb55919c453 debugPrint在发布的版本里也 会输出debugPrint只是更倾向于输出对象的调试信息。不管是开发环境还是测试环境都会输出的 在进行调试的时候,我们有时会把一个变量自身,或其成员属性的值打印出来以检查是否符合我们的预 阅读全文

posted @ 2016-08-22 14:20 CodingForever 阅读(11365) 评论(0) 推荐(0) 编辑

2016年8月1日

深入理解RunLoop

摘要: http://blog.ibireme.com/2015/05/18/runloop/ RunLoop 是 iOS 和 OSX 开发中非常基础的一个概念,这篇文章将从 CFRunLoop 的源码入手,介绍 RunLoop 的概念以及底层实现原理。之后会介绍一下在 iOS 中,苹果是如何利用 RunL 阅读全文

posted @ 2016-08-01 14:14 CodingForever 阅读(163) 评论(0) 推荐(0) 编辑

2016年6月23日

设置app的状态栏样式

摘要: http://www.jianshu.com/p/9f7f3fa624e7 http://cocoa.venj.me/blog/view-controller-based-status-bar-style-and-uinavigationcontroller/ http://www.jianshu. 阅读全文

posted @ 2016-06-23 14:06 CodingForever 阅读(2950) 评论(1) 推荐(0) 编辑

2015年6月22日

属性readwrite,readonly,assign,retain,copy,nonatomic

摘要: copy:建立一个索引计数为1的对象,然后释放旧对象 对NSString对NSString 它指出,在赋值时使用传入值的一份拷贝。拷贝工作由copy方法执行,此属性只对那些实行了NSCopying协议的对象类型有效。更深入的讨论,请参考“复制”部分。retain:释放旧的对象,将旧对象的值赋予输入对... 阅读全文

posted @ 2015-06-22 18:07 CodingForever 阅读(673) 评论(0) 推荐(0) 编辑

iOS 8 AutoLayOut入门

摘要: http://blog.csdn.net/asdfg13697116596/article/details/42562565iOS 8AutoLayOut入门自从iOS6带来Auto Layout这个特性以来,用户界面的布局便变得简单起来。iOS8更是做的更好本文主要针对初学者分享一下自己最近学习A... 阅读全文

posted @ 2015-06-22 01:20 CodingForever 阅读(400) 评论(0) 推荐(0) 编辑

iOS 开发 中级:UIToolbar,UINavigationBar,UITabBar,UIBarButtonItem,UITabBarItem自定义方法总结

摘要: 原文: http://blog.csdn.net/songrotek/article/details/8692866?utm_source=tuicool对于UIToolbar,UINavigationBar,UITabBar,UIBarButtonItem,UITabBarItem这几种控件的自定... 阅读全文

posted @ 2015-06-22 00:54 CodingForever 阅读(243) 评论(0) 推荐(0) 编辑

2015年6月21日

二分法查找

摘要: http://baike.baidu.com/link?url=AAw3zskmXDYV1yl8VrsN1v51oCYrUQa00WWR2GA6gULwAloSdMBDFVqS3S1MwqlLEvirY4Pndh56aM3qtJhf4K 1算法编辑 假如有一组数为3,12,24,36,55,68,7 阅读全文

posted @ 2015-06-21 17:20 CodingForever 阅读(209) 评论(0) 推荐(0) 编辑

2015年6月19日

IOS 多线程

摘要: http://my.oschina.net/aofe/blog/270093 iOS中的多线程 首先来了解什么是多线程,进程和线程的区别. 进程: 正在进行中的程序被称为进程,负责程序运行的内存分配; 每一个进程都有自己独立的虚拟内存空间. 线程:(主线程最大占1M的栈区空间,每条子线程最大占512 阅读全文

posted @ 2015-06-19 17:05 CodingForever 阅读(164) 评论(0) 推荐(0) 编辑

2015年6月17日

CALayer

摘要: http://blog.sina.com.cn/s/blog_859ab33601012nlt.html 研究Core Animation已经有段时间了,关于Core Animation,网上没什么好的介绍。苹果网站上有篇专门的总结性介绍,但是似乎原理性的东西不多,看得人云山雾罩,感觉,写那篇东西的 阅读全文

posted @ 2015-06-17 16:10 CodingForever 阅读(156) 评论(0) 推荐(0) 编辑

导航

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8
点击右上角即可分享
微信分享提示