2005 年,Linus在非常短的时间内把Git开发出来了。Git是一个 “分布式版本管理工具”,堪称版本控制瑞士军刀。这个可靠、多才多艺、用途多样的校订工具异常灵活,以致不易掌握,更别说精通了。
但是话又说回来,一个精通Git的程序员,会帮你在履历上加不少分,而且对你日常的工作效率也会有很大的帮助。如果你还没开始学Git,不妨先把Git的内部机理放在一旁,先学习Git的使用。
今天和大家推荐一本很热门的Git手册——Git Magic。这本书是由毕业于斯坦福大学CS专业的Ben Lynn撰写,在这本书是是书里他会对Git的功能特性进行介绍,在反复应用之后,慢慢地你会理解每个小技巧如何工作,以及如何组合这些技巧以满足你的需求。
这本书已经被翻译成中文、法文、德文、葡萄牙文、俄文、西班牙、越南文等多个语言版本。除此之外,你可以选择多种阅读方式,在线阅读或者是下载PDF文件,Debian包、Ubuntu包等,还有在亚马逊售价9.95美元的实体书。
这本书一共分为10章,从入门到基本技巧介绍,再到代码库克隆、多人协作Git以及更高端的Git功能等:
下面我们一起来看看【基本技巧】这一章,作者是如何和我们介绍的:
保存状态
在做之前,先为当前目录所有文件做个快照,使用:
- $ git init
- $ git add .
- $ git commit -m "My first backup"
现在如果你的编辑乱了套,恢复之前的版本可以使用:
- $ git reset --hard
再次保存状态:
- $ git commit -a -m "Another backup"
添加、删除、重命名
以上命令将只跟踪你第一次运行 git add 命令时就已经存在的文件。如果要添加新文 件或子目录,你需要告诉Git:
- $ git add readme.txt Documentation
类似,如果你想让Git忘记某些文件:
- $ git rm kludge.h obsolete.c
- $ git rm -r incriminating/evidence/
这些文件如果还没被从系统中删除,Git将会删除它们。
重命名文件同删除旧文件,并同时添加新文件一样。也有一个快捷方式 git mv ,和 mv 命令的用法一样。例如:
- $ git mv bug.c feature.c
如果你之前从来没有学过Git,看了上面这些内容,是不是会对掌握Git有信心多了。除了这些基本内容之外,作者还会在每个章节末尾留下练习题,帮助你巩固本章所学:
虽然我们都知道Git很强大,但再完美的产品都难免有缺点,关于Git的缺点,作者在附录也和读者们讨论了,比如SHA1的弱点,Git在Windows上繁琐的操作,创建一个克隆会比其他版本系统开销更大......。可以说,作者考虑的还是相当全面的。
目前,这本书已经在Github上标星1.5K,累计分支 641 个,如果你对Git感兴趣,千万不要错过这本书(Github地址:https://github.com/blynn/gitmagic)
最后附上《Git Magic》中文版翻译地址:https://github.com/blynn/gitmagic