Git是一个开源的分布式版本控制系统,用以有效、高速的处理各种规模的项目版本管理, 它是 Linux Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件,后来得到广泛的使用。

Github是一个代码托管平台和开发者社区,开发者可以在Github上创建自己的开源项目并与其他开发者协作编码。创业公司可以用它来托管软件项目,开源项目可以免费托管,私有项目需付费。Github同样可以被诸如Capistrano和Vlad the Deployer这样的部署工具所使用,而且GitHub已经有了一组引人注目的特性,除了命令式的库浏览器和一个项目Wik,GitHub甚至还包括了一个GitHub gem,以使通过shell方式使用GitHub更为方便。

GitHub上已自动配置的Mac笔记本电脑,可以转换设置Linux或Windows机器。BOXEN是GitHub的自动化工具,设置和配置的Mac笔记本电脑软件开发或其他类型的工作,正在使用他们的开发人员等。其准备系统以自动方式和作为无差错尽可能用最少的干预工作。根据GitHub上,与一个新的开发机器上,他的Mac系统成立,并准备在30分钟内提交代码。

作为开源代码库以及版本控制系统,Github目前拥有140多万开发者用户。随着越来越多的应用程序转移到了云上,Github已经成为了管理软件开发以及发现已有代码的首选方法。

    

Git与Github在功能上相辅相成,但两者也有独自的过人之处,可谓是“巾帼不让须眉”啊!

同样作为一个分布式的版本控制系统,在Git中并不存在主库这样的概念,每一份复制出的库都可以独立使用,任何两个库之间的不一致之处都可以进行合并。且GitHub可以托管各种git库,并提供一个web界面,但与其它像 SourceForge或Google Code这样的服务不同,GitHub的独特卖点在于从另外一个项目进行分支的简易性。为一个项目贡献代码非常简单:首先点击项目站点的“fork”的按钮,然后将代码检出并将修改加入到刚才分出的代码库中,最后通过内建的“pull request”机制向项目负责人申请代码合并。

GitHub主要用Rails实现,在进行的post-commit集成小应用完全使用Merb编写,使用了Python的Pygments来做格式高亮显示,另外,还用了Ara T. Howard's Bj加上一些Ruby脚本来做我们的排队系统。当然,还采用了Ruby Grit库来和Git进行交互。

在Windows领域两者也有极大的应用,GitHub 使用 git 分布式版本控制系统,而 git 最初是 Linus Torvalds 为帮助Linux开发而创造的,它针对的是 Linux 平台,因此 git 和 Windows 从来不是最好的朋友,因为它一点也不像 Windows。GitHub 发布了GitHub for Windows,为 Windows 平台开发者提供了一个易于使用的 Git 图形客户端。

GitHub for Windows 是一个 Metro 风格应用程序,集成了自包含版本的 Git,bash 命令行 shell,PowerShell 的 posh-git 扩展。GitHub 为 Windows 用户提供了一个基本的图形前端去处理大部分常用版本控制任务,可以创建版本库,向本地版本库递交补丁,在本地和远程版本库之间同步。微软也通过CodePlex向开发者提供 git 版本控制系统,而 GitHub 创造了一个更具有吸引力的 Windows 版本。

总的来说,两者关系可以这样描述:Git是一款免费、开源的分布式版本控制系统,而Github是用Git做版本控制的代码托管平台,相当于本地、公司服务器、Github网站服务器都装Git做版本控制,只不过Github的服务器强大些,对全球用户托管的项目用Git做版本控制,打个比喻即为“git是一张弓,github是靶子,你的源代码是箭!”

其次两者在使用方法上也应该有所借鉴和区分,一些常用命令如下:

git克隆项目(下载代码)

#git clone http://192.168.0.223/git/test

git clone git@github.com:laiweiwei/vms.git

git clone git@github.com:syking/smrt-lbs-new.git
复制粘帖方法:
git bash控制台--标题栏--右键--编辑--标记/粘帖
git更新内容
cd /d
cd play/smrt-lbs
git pull origin
提交到本地
cd /d
cd play/smrt-lbs
git add .
git commit -m "some string"
提交到服务器
git push -u origin master
删除文件(直接删除后需要重新用命令删除)
$ git rm  app/views/Application/index.html
rm 'app/views/Application/index.html'
查看文件状态
git status
举个例子:假设你的资料库默认分支为 master,当你有一个新的项目或者想法时

创建一个分支,然后在分支上开发,最后再合并到 master 上,具体操作方式如下:
创建新分支并命名,此处我们创建名为 new_sub 的分支 
git branch new_sub
移到新分支上
git checkout new_sub
开始你的工作并保存结果
添加所改动的文件以便提交
git add .
提交改动
git commit -m "made some changes"
回到 master 主分支
git checkout master
合并到主分支
git merge new_sub
git branch 可显示所有的分支
删除分支
git branch -d new_sub 
作为开源代码库的Git与GitHub,两者的未来和前景也必定春光无限。据统计,全球最大的社交编程及代码托管网站GitHub以其开创性的新型软件开发方式并且能高效利用有限的资源通过自力更生实现公司盈利和300%的年收入增长成功的吸引知名风投机构Andreessen Horowitz一亿美金的投资。新的资金注入将帮助GitHub平台得到进一步的改进和扩展。
最后,希望广大学者可以从Git与GitHub开源代码库中得到有益的帮助。

转载于:https://www.cnblogs.com/lihuahualiang/p/5452629.html

Git与GitHub说明分析相关推荐

  1. R,Git和Github(下)

    作者:Wenhu 博客:http://bioinfostar.com/ 本讲第一部分,介绍git的"足够你用"命令:本讲为第二部分,介绍github的主要用途,包括版本管理.分枝管 ...

  2. Git 和 Github 秘籍

    GitHub秘籍 Git 和 Github 秘籍,灵感来自于 Zach Holman 在 2012 年 Aloha Ruby Conference 和 2013 年 WDCNZ 上所做的演讲:Git ...

  3. Linux、git和github的故事

    近日,分析业内知名技术社区时,详细看了下github.作为笔记,留下学习印记. 一.Linux和git 7月,阿里云参加了LinuxCon + ContainerCon + CloudOpen中国(简 ...

  4. Git连接GitHub仓库,同步上传图片及CSDN外链图片转存失败解决方案

    Git连接GitHub仓库,同步上传图片及CSDN外链图片转存失败解决方案 ​ 最近在使用markdown编辑器写博客时,发现了一个问题,就是本地图片的上传问题,查阅发现,可以上传本地图片,使用外链进 ...

  5. 适合小白的大白话讲解---Git与Github的区别

    本文由 伯乐在线 - 听风 翻译,艾凌风 校稿.未经许可,禁止转载! 英文出处:Red Radger.欢迎加入翻译组. 本文旨在使用通俗易懂的文字,讲解版本控制背后的理论,以便你能对程序员们如何工作有 ...

  6. 大白话解释 Git 和 GitHub

    转发原文:http://blog.jobbole.com/111187/ 本文旨在使用通俗易懂的文字,讲解版本控制背后的理论,以便你能对程序员们如何工作有个全局概念.本文不涉及代码,不用下载啥东西,循 ...

  7. 【git基础】大白话解释git和github

    <h1>大白话解释 Git 和 GitHub</h1> 本文旨在使用通俗易懂的文字,讲解版本控制背后的理论,以便你能对程序员们如何工作有个全局概念.本文不涉及代码,不用下载啥东 ...

  8. Git与github基本操作

    一.  git安装与简单配置 1.      git的安装 首先进入git的官方网站git-scm.com 下载自己电脑对应的git版本,然后点击安装即可 点击上图的红色部分进行下载 安装的时候直接默 ...

  9. 用 Git 和 Github 提高效率的 10 个技巧!

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 来源:segmentfault.com/a/11900000038 ...

最新文章

  1. 学习EF4的一些基础参考资料
  2. Windows系统回顾之Windows NT
  3. Win7下配置Apache+PHP+Mysql环境
  4. C++STL的queue容器
  5. java 中的单引号报错_shell中的单引号,双引号,反引号
  6. 数据结构之查找算法:顺序查找
  7. python中event_Python Event实现线程通信
  8. mysql8连接java_JAVA连接MYSQL8.0问题
  9. 转:windows xp 安装MYSQL 出现Error 1045 access denied 的解决方法
  10. 实现类去实现接口的时候,将接口的注释一起重写出来设置
  11. 深入浅出数据分析----- 学习笔记
  12. 如何使打印出手写字体
  13. 村村响农村广播-盐池县农村IP广播案例
  14. php脚本是什么,PHP脚本的编写
  15. [计算机数值分析]拉格朗日插值公式
  16. 芯片中的CP是什么CP
  17. 小米电视怎么看CCTV?安装超好用的HDP直播来帮助你
  18. 逻辑思维题及答案解析
  19. Android Audio 架构分析
  20. KBL410-ASEMI整流桥,KBL410规格书,KBL410机械数据

热门文章

  1. 学大教育仙林亚东城校区——南京市栖霞区仙隐北路12号亚东商业广场1楼B12
  2. google学术爬虫
  3. 计算机在水产养殖学中的应用,计算机视觉技术在水产养殖中的应用
  4. C++基础---面向对象建模方法
  5. windows 2003 删除一键恢复EISA
  6. 【云速建站】购买前的指导
  7. Zynq中FPGA上电时序
  8. java实现pdf加水印
  9. python oledb dbf_在Python中打开和搜索dBase III(DBF)数据库
  10. 如何把拱门改成方形_闭气式方形拱门的制作方法