一、什么是git?

Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.

git维基百科上详细介绍了git的资料,包括git的创建、使用以及一些草考资料,已经挺全了,记住一点,最高效的学习方式就是读文档,找官方文档去阅读学习是最快的掌握git的方法。

既然是分布式版本管理,那么和我们平常使用的svn有什么区别?

  1. 分布式 vs 集中管理 (多份版本库 vs 一份版本库,设想下版本服务器挂了?)
  2. 无需网络,随时随地进行版本控制,在没有网络的情况下你想回退到某个版本svn基本没戏;
  3. 分支的新建、合并非常方便、快速,没有任何成本,基本不耗时,svn的版本基本上等同于又复制了一份代码;

stackoverflow 上关于svn和git的区别的讨论,说的很详细,请参考 Why is Git better than Subversion?

github 上通过版本库结构、历史、子项目(submudle)的不同来对比两者,请参考 What are the differences between SVN and Git?

二、git 安装

《pro git》一书中已经写明白了各个平台上怎么安装git,如果感觉晦涩,就看这个廖雪峰安装git

三、git 初使用

  • 对于已经熟悉svn的用户可以直接查看此文档 Git - SVN Crash Course,通过对比两个工具对同样的操作采取不同的命令来快速认识git的一些常用命令

  • 对于一个新手来说,我不需要知道git的原理,不需要知道git那么多的命令,我只想用git完成一次仓库的从初始化、commit、push、branch、tag等一个流程,越简单越好,图文教程,以window下使用git为例,一步步走完整个流程,推荐 手把手教你使用Git

  • 比较全面讲述的git的系列文章 号称史上最浅显易懂的Git教程!

  • 看完上面的几步内容,想你习对git基本上可以使用了,要掌握还得多多练习,熟能生巧,你是不是想去看看关于git的全部内容 ,官方中文电子版书籍即可满足你,当然你可以查看最新V2版英文或者下载epub pdf等本地阅读;

四、git 分支、tag

git 最帅气的就是对分支的处理,方便快速,你只需要一个简单的

git branch branch-name

就能开出一个叫branch-name的分支,毫秒钟搞定,但也正是因为方便,如果使用不合理就会造成分支混乱,分不清脉络, 推荐看一下阮一峰写的文章 Git分支管理策略 ,最原始的文章就是这篇老外写的A successful Git branching model@萌面大叔的乌托邦提到开源中国已经翻译成了中文,感兴趣的可以去看看介绍一个成功的 Git 分支模型

五、git 常见命令

一个比较好的汇总了git的一些基本命令的pdf,可以经常看看,或者当成命令手册,推荐 Git Cheat Sheet ,还有一张图片 Git常用命令 也不错;最近我整理了一份xmind的导图,将这两份资料都放到了画布里面,百度网盘 密码:6x7u 存储了,不断更新,有需要的可以下载,预览图片如下:

最强大的命令手册还得属于终端,* man git * 或者 * man git 命令 * 或者 * git --help * 或者 * git 命令 --help *,在这里可以找到任何你想要的。

六、git 书籍资料

-《Pro Git》 作者Scott Chacon是github的员工,git的布道者,这本书被誉为git学习圣经,中间有好多插图描述的浅显易懂,挺适合详细学习下的,最新英文第二版《pro git (Editon 2)》;

-《Git Community Book》汇聚了Git社区的很多精华, 并对git的对象模型原理等做了解释,可以深入的了解下git原理;

2015-01-22 增加

2015-04-05 增加 git flow 工具

关于日常中使用git来版本管理的流程写的很不错的一本书,日常工作模式、流程怎样更合理的工作!

** 最后,当你开始使用git的时候,学会用终端,比如你想看关于branch,那么大胆的时候 *git branch --help * 查看相应的命令! **

原文首发于个人独立博客,欢迎审阅:http://ixirong.com/2014/11/19/the-way-to-learn-git/ 或者查看 个人github上的repo https://github.com/xirong/my-git ,不断更新。

分布式版本管理git学习资料整理推荐的更多相关文章

  1. Git学习资料整理

    Git作为一个优秀的版本控制系统,是我们开发人员必须要学会使用的一个工具,接触git一年多以来,也看了不少相关资料,今天把我所看过的一些学习资源整理一下. Git入门当然首推廖雪峰廖老师的教程:Git ...

  2. F4NNIU 的 Docker 学习资料整理

    F4NNIU 的 Docker 学习资料整理 Docker 介绍 以下来自 Wikipedia Docker是一个开放源代码软件项目,让应用程序部署在软件货柜下的工作可以自动化进行,借此在Linux操 ...

  3. iOS 开发学习资料整理(持续更新)

      “如果说我看得比别人远些,那是因为我站在巨人们的肩膀上.” ---牛顿   iOS及Mac开源项目和学习资料[超级全面] http://www.kancloud.cn/digest/ios-mac ...

  4. iOS 学习资料整理

    iOS学习资料整理 https://github.com/NunchakusHuang/trip-to-iOS 很好的个人博客 http://www.cnblogs.com/ygm900/ 开发笔记 ...

  5. Java 学习资料整理

    Java 学习资料整理 Java 精品学习视频教程下载汇总 Java视频教程 孙鑫Java无难事 (全12CD) Java视频教程 即学即会java 上海交大 Java初级编程基础 共25讲下载 av ...

  6. NLP | 算法 学习资料整理

    UPDATE TIME: 2019-12-12 17:06:32 NLP: 对话系统: [ ] https://www.cnblogs.com/jiangxinyang/p/10789512.html ...

  7. DBN 入门学习资料整理

    建议按序阅读 1.Deep Learning 概述 Deep Learning(深度学习)学习笔记整理系列 : http://blog.csdn.net/zouxy09/article/details ...

  8. JAVA学习资料整理

    今天偶然间发现之前一个群里发过的一篇关于JAVA学习资料的东西.本着服务大众的精神,搬来了博客园: <JAVA编程思想>第四版(英文原版) 下载地址:http://115.com/file ...

  9. iOS学习资料整理

    视频教程(英文) 视频 简介 Developing iOS 7 Apps for iPhone and iPad 斯坦福开放教程之一, 课程主要讲解了一些 iOS 开发工具和 API 以及 iOS S ...

随机推荐

  1. #import 无法打开源文件msado.tlh

    #import 无法打开源文件msado.tlh #import "c:\program files\common files\system\ado\msado15.dll" no ...

  2. Oracle居然把Java EE的未来押在Rest API上了

        然而Lehman并不赞同Rahman对Java EE 9的说法,所以他重申Oracle暂时专注于Java EE 8."我们正在倾全力推出EE 8,现在这是我们主要的关注点," ...

  3. 静默安装oracle 11g,环境预检查时报错,SEVERE: [FATAL] PRVF-0002 : 无法检索本地节点名

    环境描述: 操作系统:Redhat 6.6_x64 oracle:11.2.0.4 x64 问题描述: 今天在安装oracle 11g的数据库,在进行预安装环境检查的时候,报下面的错误: [oracl ...

  4. mybatis由浅入深day01_8输出映射_8.1resultType输出类型(8.1.1输出简单类型_8.1.2输出pojo对象和pojo列表_8.1.3输出hashmap)

    8 输出映射 8.1 resultType(输出类型) 使用resultType进行输出映射,只有查询出来的列名和pojo中的属性名一致,该列才可以映射成功. 如果查询出来的列名和pojo中的属性名全 ...

  5. POJ 1384 Piggy-Bank(完全背包)

    Description Before ACM can do anything, a budget must be prepared and the necessary financial suppor ...

  6. linux解压和压缩

    1.压缩命令: 命令格式:tar  -zcvf   压缩文件名.tar.gz   被压缩文件名 可先切换到当前目录下.压缩文件名和被压缩文件名都可加入路径. 2.解压缩命令: 命令格式:tar  -z ...

  7. 数据库客户端快捷键(oracle+sybase)

    PL/SQL: 选中单行:鼠标三连击某行,那么这一行即被选中. 执行脚本:F8

  8. Swift 高级运算符

    本文转载至 http://my.oschina.net/sunqichao/blog?disp=2&catalog=0&sort=time&p=2 除了基本操作符中所讲的运算符 ...

  9. JS 添加js节点

    function AddScriptNode(src) { var N = document.createElement("script"); N.setAttribute(&qu ...

  10. VC++ 6.0创建MFC工程时的初级备要点(二)

        在看到一个MFC工程时,可能根据上一篇文章已经知道了哪些是重要的,那些是在创建工程的时候已经被初始化的!!下面介绍一下在看代码的过程的策略!!这里假设创建的基于多对话框的MFC工程名为test ...