GitHub 可以托管各种Git版本库,并提供一个web界面,但与其它像 SourceForge或Google Code这样的服务不同,GitHub的独特卖点在于从另外一个项目进行分支的简易性。为一个项目贡献代码非常简单:首先点击项目站点的“fork”的按钮,然后将代码检出并将修改加入到刚才分出的代码库中,最后通过内建的“pull request”机制向项目负责人申请代码合并。已经有人将GitHub称为代码玩家的MySpace。GitHub主要用Rails实现。如下我会讲解GitHub使用。

一、注册

Git已经变得非常流行,连Codeplex现在也已经主推Git。Github上更是充斥着各种高质量的开源项目,比如ruby on rails,cocos2d等等。

对于习惯Windows图形界面的程序员来讲,Github的使用是需要点时间和耐心的,然而最近Github发布了Github for Windows 则大大降低了学习成本和使用难度,他甚至比SVN都简单,好吧,你不信,我们来一步一步过一面:

1. 在GitHub for Windows下载Github for Windows,然后安装就不说了,下载客户端是一个悲催的过程

2. 登陆,安装好后打开GitHub,用你的GitHub账号登陆。需要注意的事,Github for Windows会帮你创建SSH Key,你打开邮件应该会收到邮件帮你创建SSH Key的信息,这也省了不少事:

3. 创建一个仓库。点击上面的 “+Add” 按钮创建一个新的仓库,输入相关信息:

4. 新建的仓库还没有真正地提交到本地仓库,相当于这只是一个new的修改,github简化了一些操作过程,对于任何修改,只需要添加评论就可以提交到本地仓库,然后这个时候才可以提交到远程仓库,所以我们来添加一条评论:

在每次添加一个评论之后,就相当于向本地仓库提交了一本版本,之后,就可以选择一个版本向远处仓库提交了。

5. 这个时候我们就可以Publish一个仓库了,Publish之后按钮就变成in sync文字,表示以后的修改提交就是同步,这个时候你到你的github上看应该就会多一个仓库了:

6. 添加项目,仓库在本地保存在一个文件夹中,Github for windows会监视这个文件夹,任何修改都会在仓库中看到,然后像上面一样添加评论就可以将修改提交到本地仓库,这里我们打开仓库目录,往里面添加一个项目:

7. 将修改提交到本地仓库,回到Github for windows中,已经可以看到刚才添加的项目了,同样,提交注释提交到本地仓库:

8. 最后,点击sync将本地仓库提交到github

9. 参与开源项目协同开发:

github现在已经深度支持Windows开发者了,现在每个在github的开源项目前面都有一个“Clone in Windows”的按钮,我们可以Clone任何我们感兴趣的开源项目,然后在地进行修改,参与开源项目的开发。

点击该按钮之后,浏览器会要求打开Github for Windows,并下载项目至本地,新建一个本地仓库:

10. 总结:github for Windows简化了一些概念和操作,并且几乎所有主要操作都通过图形界面来完成,基本上能完成日常写作了。这些主要的简化包括:

  1. 将push到远程仓库简化为一个同步按钮
  2. 将提交到本地仓库简化为只需要对一些列修改添加评论

更多的,还包括分支的建立和管理,这部分自己去探索吧,总之,github for Windows确实是一个非常好的工具。

【热身】github的使用的更多相关文章

  1. 搜刮一些开源项目的APP

    iOS完整App资源收集 <iOS完整app资源收集>  <GitHub 上有哪些完整的 iOS-App 源码值得参考?> <GitHub 上有哪些完整的 iOS-App ...

  2. Android查缺补漏(IPC篇)-- 进程间通讯基础知识热身

    本文作者:CodingBlock 文章链接:http://www.cnblogs.com/codingblock/p/8479282.html 在Android中进程间通信是比较难的一部分,同时又非常 ...

  3. 停下来,回头看 ——记2020BUAA软工第一次作业-热身!

    description: 'Mar 1st, 2020 - Mar 3rd, 2020' 项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任建) 这个作业的要求在哪里 第一次作 ...

  4. 近期 github 机器学习热门项目top5

    磐创智能-专注机器学习深度学习的教程网站 http://panchuang.net/ 磐创AI-智能客服,聊天机器人,推荐系统 http://panchuangai.com/ [导读]:Github是 ...

  5. BUAA_2020_软件工程_热身作业

    项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任建) 这个作业的要求在哪里 热身作业要求 我在这个课程的目标 了解软件工程的技术,掌握工程化开发的能力 这个作业在哪个具体方面 ...

  6. BUAA 2020 软件工程 热身作业

    BUAA 2020 软件工程 热身作业 Author: 17373051 郭骏 项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 第一次作业-热身! ...

  7. 【原】Github+Hexo+NextT搭建个人博客

    摘要 GitHub 是一个开源项目的托管网站,相信很多人都听过.在上面有很多高质量的项目代码,我们也可以把自己的项目代码托管到GitHub,与朋友们共享交流.GitHub Pages 是Github为 ...

  8. TODO:GitHub创建组织的步骤

    TODO:GitHub创建组织的步骤 使用GitHub进行团队合作,写这个步骤主要作用是为了OneTODO作为一个团队组织进行代码的分享,让更多人来参与. 使用帐号.密码登录GitHub 2.右上角加 ...

  9. GitHub实战系列汇总篇

    基础: 1.GitHub实战系列~1.环境部署+创建第一个文件 2015-12-9 http://www.cnblogs.com/dunitian/p/5034624.html 2.GitHub实战系 ...

随机推荐

  1. Unity 5.X扩展编辑器之打包assetbundle

    5.x的assetbundle与4.x以及之前的版本有些不同,不过本质是一样的,只不过5.x打包assetbundle更为简单和人性化了,总体来说只需要三个步骤: 第一步:创建打包资源 //这里是一个 ...

  2. SpriteBuilder中的粒子系统属性

    一个粒子发射器可以有2种模式,放射状和重力的(radial or gravity) 放射状模式允许你去使用发射器创建粒子旋涡状环绕在指定位置的效果. 当启用重力效果,你可以使得粒子在任何方向任意飞行, ...

  3. Handler学习小结

    在android消息机制中Handler扮演着举足轻重的作用,(AsnyTask其实也是对Handler+Thread做了一层封装),ui线程超过5s就会报出ANR,一般耗时操作操作需要放在子线程中处 ...

  4. LeetCode之“动态规划”:Unique Binary Search Trees && Unique Binary Search Trees II

    1. Unique Binary Search Trees 题目链接 题目要求: Given n, how many structurally unique BST's (binary search ...

  5. 如何在VS2013中进行Boost单元测试

    对于如何在VS2013中进行Boost单元测试,这方面资料太少.自己也因此走了不少弯路.下文将会阐述一下如何在VS2013中进行Boost单元测试. 在开始Boost单元测试之前,我们需要先安装VS2 ...

  6. S3c2440A WINCE平台HIVE注册表+binfs的实现

    今天最大的收获莫过于把binfs和hive注册表同时在三星的平台上实现了,这可是前无古人啊(只是看到好多哥们说找不到三星的HIVE资料),哈哈哈.怕今天的成果日后成炮灰,还是写下来比较好,要养成这样的 ...

  7. PS 图像调整算法——自动色阶 (Auto Levels)

    PS 给出的定义: Enhance Per Channel Contrast:Maximizes the tonal range in each channel to produce a more d ...

  8. shell脚本调用python脚本的路径问题

    脚本的相互调用中,只有在同一级目录下才可以使用__file__参数去获取路径名,(在shell里使用pwd也同样),否则,使用的就是主文件(最开始运行的脚本程序)的所在位置,是错误路径:一定要注意当期 ...

  9. 总结一下 Spring的IOC、DI

    国庆节刚过,应一些朋友的提问,总结一下Spring中IOC也即DI的通俗理解. 网友wm5920解释: IOC控制反转:说的是创建对象实例的控制权从代码控制剥离到IOC容器控制,实际就是你在xml文件 ...

  10. Sencha touch 2 入门 -------- DataView 显示服务器端JSON文件数据

    今天学习了下DataView如何显示JSON文件数据,废话不多说,直接贴代码: 首先看下文件目录: 然后看下我们要处理的JSON文件,bookInfo.json. { "success&qu ...