使用 Git 和 GitHub 有一段时间了,总结下经验。

起初接触 Git 是先遇到 GitHub 的,当时傻傻分不清这两者的区别,毕竟名字都那么像,刚开始只想用酷酷的方法 clone 代码(SSH),就在 Git 上多花了点功夫,一直看 Pro Git 这本书(在线,免费,准确,详细,而且有中文的,现在更新到第二版了),现在看来也,确实值得。

那么 Git 和 GitHub 到底是什么?

  • Git 是分布式版本控制系统
  • GitHub 是最大的 Git 版本库托管商

“大部分 Git 版本库都托管在 GitHub,很多开源项目使用 GitHub 实现 Git 托管、问题追踪、代码审查以及其它事情。 所以,尽管这不是 Git 开源项目的直接部分,但如果想要专业地使用 Git,你将不可避免地与 GitHub 打交道,所以这依然是一个绝好的学习机会。”

Git 和 GitHub 就是这么个关系,Git 管理代码仓库, GitHub 是个超大的型的代码仓库, GitHub 上有很多,很多的开源,非开源代码仓库。
GitHub 上的私有仓库是需要付费的,用私有仓库的收益维护开源仓库,不能不说是个高明的方法,即支持了开源,又不依赖外部。
程序员们都喜欢 GitHub,科技公司也乐于使用 GitHub,在这里能找到大量的程序源码,又能在世界面前展示自己的才华,So Fork me on GitHub !!

只是 GitHub 上的仓库有些处于半墙状态,所以 clone,下载会很慢

Git 分布式版本控制系统,简单来说就是版本控制,分布式通俗来说就是可以有多个仓库,可以有多个远程仓库,多个本地仓库。
“版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。”

版本控制在我看来是软件开发中的后悔药,错误修改了代码,尝试训插入第三方的代码,出了 BUG,修改起来是十分辛苦的事,可以用版本控制恢复到去错前的状态,这样就免去了许多麻烦。

Git 有非常灵活的控制方法,而且多分支,多仓库的形式更方法大型,多人的合作开发。

Git 是跨平台的,在 MAC 下系统集成,windows 和 lniux 都可以方便的安装
windows 下安装来其他软件安装一样,只要一路下一步就可以了,中途询问的选项有一定的‘风险’,这可能会更改系统的一些默认命令,第一次使用就不必改了,以后熟了,再改。下载地址(更详细的安装看 Pro Git1.5 起步 - 安装 Git

“Git 有多种使用方式。 你可以使用原生的命令行模式,也可以使用 GUI 模式,这些 GUI 软件也能提供多种功能”
命令行 才能体现出装X的逼格
GitHub Desktop 是 GitHub 的推出的 Git 图形管理工具,可以很方便的和 GitHub 上仓库,团队联系。
大部分的集成编译器都有集成 Git, 使用方便,如果你没用过可以去你的编译器上找找,尝试一下

命令行是 Git 功能最强大的,上手难度相对大,不过大部分 GUI 成提供了命令行功能,所以用好命令行才是进阶的必经之路。

Git & GitHub的更多相关文章

  1. git &github 快速入门

    本节内容 github介绍 安装 仓库创建& 提交代码 代码回滚 工作区和暂存区 撤销修改 删除操作 远程仓库 分支管理 多人协作 github使用 忽略特殊文件.gitignore 1.gi ...

  2. git+github上传与管理

    1.首先下载并安装git,方便管理github上的代码 https://git-scm.com/downloads 2.然后点击安装好的git bash(注册好自己的github) git confi ...

  3. git/github学习笔记

    郑重提示,本文来自这里,如果喜欢,请关注原作者. 1. git 版本控制系统 相比CVS\SVN优势: - 支持离线开发,离线Repository- 强大的分支功能,适合多个独立开发者协作- 速度块 ...

  4. Git/GitHub 初用体验与总结

    Git,一个神奇而又陌生的东西,居然到现在才去了解它,就像有一位仁兄说的,现在不会用Git真的都不好意思说自己搞IT的. 简单的讲,这Git是目前最先进的分布式版本控制系统,和他相对应的就是众所周知的 ...

  5. git github简单知识

    Git 常用命令 git init here -- 创建本地仓库(repository),将会在文件夹下创建一个 .git 文件夹,.git 文件夹里存储了所有的版本信息.标记等内容 git remo ...

  6. Git/Github + TortoiseGit 使用教程

    前言 Git是一个开源的分布式版本控制系统,用以有效.高速的处理从很小到非常大的项目版本管理. 在github上有很多优秀的项目,一个伟大的学习宝库.本文分享使用tortoisegit对github/ ...

  7. Git+GitHub 使用小结

    1.Git安装完成后需要做的配置            $ git config --global user.name "Your Name"        $ git confi ...

  8. Git & Github 一页简明笔记

    由于小组工程需要使用git&github的版本控制来协作,但我对其使用并不熟悉,特此写篇一页的笔记放在手边,备随时查阅. 相信这种一页的简明笔记,对大家也是有帮助的.我的笔记总结自廖雪峰的Gi ...

  9. git/github初级运用自如(zz)

    ----//git/github环境配置 一 .  github上创建立一个项目 用户登录后系统,在github首页,点击页面右下角“New Repository” 填写项目信息: project n ...

  10. git/github 使用

    原文:http://www.cnblogs.com/fnng/archive/2011/08/25/2153807.html git/github学习笔记 Posted on 2011-08-25 2 ...

随机推荐

  1. Jquery中each的三种遍历方法

    Jquery中each的三种遍历方法 $.post("urladdr", { "data" : "data" }, function(dat ...

  2. oracle 自增ID

    drop sequence SEQ_sys_dictionary; create sequence SEQ_sys_dictionary INCREMENT BY START WITH ; creat ...

  3. VB默认属性、动态数组、Range对象的默认属性的一点不成熟的想法

    1.默认属性 VB6.0有默认属性的特性.当没有给对象指定具体的属性时,"默认属性"是VB6.0将使用的属性.在某些情形下,省略常用属性名,使代码更为精简. 因为CommandBu ...

  4. 安装配置dradis

    github:https://github.com/dradis/dradis-ce/blob/master/README.md安装出现错误:== Copying sample files == == ...

  5. 组合suan

    /// 求从数组a[1..n]中任选m个元素的所有组合. /// a[1..n]表示候选集,n为候选集大小,n>=m>0. /// b[1..M]用来存储当前组合中的元素(这里存储的是元素 ...

  6. NSJSONSerialization(json序列化)

    //通过调用isValidJSONObject来判断Foundation对象是否可以转换为JSON数据 NSJSONSerialization isValidJSONObject:obj 我们能利用N ...

  7. 自定义一个类似UIAlertView的弹出框

    这个是和UIAlertView类似,但是可以自定义view的样式废话不多说,上代码: 首先第一步:创建一个继承自View的类如: #import <UIKit/UIKit.h> @clas ...

  8. 《C++ Primer》学习笔记【第三部分 类设计者的工具】

    第13章 拷贝控制 使用default:=defult只能修饰默认构造函数或拷贝控制成员,显式地要去编译器生成合成的版本. 使用delete:=delete通知编译器不希望定义这些成员,禁止试图使用它 ...

  9. Jenkins+ANT+SVN快速搭建持续集成环境

    伟大的语言都从helloworld开始,这里我们用Jenkins+ANT+SVN来搭建这一套持续集成环境. 环境准备: 一台已经配置好Jenkins和Ant的机器. 项目准备: 用Ecplise建立一 ...

  10. 18TH赛事管理

    赛事管理者 项目psp: 一.计划 估计这个任务需要7天时间 二.开发 1.需求分析 作为一个赛事管理者,我希望知道每场比赛的队伍得分和积分情况,以便给每队进行排名. 2.生成设计文档 查询出每场得分 ...