分布式版本管理git学习资料整理推荐
一、什么是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有什么区别?
- 分布式 vs 集中管理 (多份版本库 vs 一份版本库,设想下版本服务器挂了?)
- 无需网络,随时随地进行版本控制,在没有网络的情况下你想回退到某个版本svn基本没戏;
- 分支的新建、合并非常方便、快速,没有任何成本,基本不耗时,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 增加
- 推荐的工作流程 git workflow
2015-04-05 增加 git flow 工具
- git flow 工具
- git flow 中文备忘清单
- 一个很有意思的学习 git 的小游戏 http://pcottle.github.io/learnGitBranching/
- 图解 git 将书籍中很多
术语用图片的方式进行讲解,很容易就懂了 - 图文并茂-猴子都能懂的git入门教程 全面,生动形象,图文并茂,简单易懂,强烈推荐!
关于日常中使用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学习资料整理推荐的更多相关文章
- Git学习资料整理
Git作为一个优秀的版本控制系统,是我们开发人员必须要学会使用的一个工具,接触git一年多以来,也看了不少相关资料,今天把我所看过的一些学习资源整理一下. Git入门当然首推廖雪峰廖老师的教程:Git ...
- F4NNIU 的 Docker 学习资料整理
F4NNIU 的 Docker 学习资料整理 Docker 介绍 以下来自 Wikipedia Docker是一个开放源代码软件项目,让应用程序部署在软件货柜下的工作可以自动化进行,借此在Linux操 ...
- iOS 开发学习资料整理(持续更新)
“如果说我看得比别人远些,那是因为我站在巨人们的肩膀上.” ---牛顿 iOS及Mac开源项目和学习资料[超级全面] http://www.kancloud.cn/digest/ios-mac ...
- iOS 学习资料整理
iOS学习资料整理 https://github.com/NunchakusHuang/trip-to-iOS 很好的个人博客 http://www.cnblogs.com/ygm900/ 开发笔记 ...
- Java 学习资料整理
Java 学习资料整理 Java 精品学习视频教程下载汇总 Java视频教程 孙鑫Java无难事 (全12CD) Java视频教程 即学即会java 上海交大 Java初级编程基础 共25讲下载 av ...
- NLP | 算法 学习资料整理
UPDATE TIME: 2019-12-12 17:06:32 NLP: 对话系统: [ ] https://www.cnblogs.com/jiangxinyang/p/10789512.html ...
- DBN 入门学习资料整理
建议按序阅读 1.Deep Learning 概述 Deep Learning(深度学习)学习笔记整理系列 : http://blog.csdn.net/zouxy09/article/details ...
- JAVA学习资料整理
今天偶然间发现之前一个群里发过的一篇关于JAVA学习资料的东西.本着服务大众的精神,搬来了博客园: <JAVA编程思想>第四版(英文原版) 下载地址:http://115.com/file ...
- iOS学习资料整理
视频教程(英文) 视频 简介 Developing iOS 7 Apps for iPhone and iPad 斯坦福开放教程之一, 课程主要讲解了一些 iOS 开发工具和 API 以及 iOS S ...
随机推荐
- Dedecms当前位置{dede:field name='position'/}修改,去掉>方法
Dedecms当前位置{dede:field name='position'/}修改,如何去掉> 一.修改{dede:field name='position'/}的文字间隔符,官方默认的是&g ...
- javascript--枚举算法实现
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 工作流JBPM_day01:6-执行流程实例
工作流JBPM_day01:6-执行流程实例 执行流程 启动流程实例 查询任务列表 办理任务 向后执行一步 先部署流程定义在启动流程实例 Jbpm4_execution表表示正在执行的流程实例的的信息 ...
- JAVA实现随机无重复数字功能
本文给大家介绍如何在JAVA中实现随机无重复数字的功能.如果您是初学者的话,有必要看一看这篇文章,因为这个功能一般会在面试中遇到.包括我本人在招聘人员的时候也喜欢拿这个问题去问别人,主要看一看考虑问题 ...
- 九度 1481 Is It A Tree?
题目 给定一个有向图, 判断其是否是一棵树 要求 (1) 除了根节点外, 每个节点只有唯一的前驱 (2) 从根节点出发, 到任何节点有且只有一条路径 思路 1. 要求(1) 可以通过记录每个节点的前驱 ...
- Leetcode: mimimum depth of tree, path sum, path sum II
思路: 简单搜索 总结: dfs 框架 1. 需要打印路径. 在 dfs 函数中假如 vector 变量, 不用 & 修饰的话就不需要 undo 2. 不需要打印路径, 可设置全局变量 ans ...
- ios开发之--NSString和NSArray互转
将string字符串转换为array数组 NSArray *array = [Str componentsSeparatedByString:@","];//分隔符逗号 将arr ...
- java日志之slf4j与logback简单使用
最近在开发遇到日志是使用slf4j与logback.xml的配置,所以就记录下来了. 1.导入这几个jar包: Logback 分为三个模块:logback-core,logback-classic, ...
- VS2015编译CURL7.54.0源码
2018.8.24找到一种新途径,运行curl-master\projects\generate.bat,然后curl-master\projects\Windows\VC14\curl-all.sl ...
- 《C++ Primer Plus》第15章 友元、异常和其他 学习笔记
友元使得能够为类开发更灵活的接口.类可以将其他函数.其他类和其他类的成员函数作为友元.在某些情况下,可能需要前向声明,需要特别注意类和方法声明的顺序,以正确地组合友元.潜逃类是在其他类中生命的类,它有 ...