这个项目在Github上火了,还不会用Git的程序员,这下赚到了
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
相关文章
- 如何使用数据管道实现测试现代化
- 10个React安全实践
- 软件构架:码农需要了解的很重要的软件构架模式
- IDEA 敏捷开发技巧——实时模版
- 一日一技:如何识别一张图片的格式
- 坐拥最大的高速缓存,Facebook 如何保证缓存一致性?
- IDEA 敏捷开发技巧——后缀完成
- 聊聊中间件开发
- DataOps是现代数据栈的未来吗?
- 分布式配置中心(Nacos、Apollo)选型比较
- 微服务CI/CD实践-GitOps完整设计与实现
- 分布式系统中数据存储方案实践
- 淘宝和网易云怎样知道你喜欢什么?终于有人把推荐系统讲明白了
- 年度喜爱的8个CSS框架
- InheritableThreadLocal异步传递数据实现原理
- 15 个优秀的响应式 CSS 框架
- SQLTools: 一款全功能的 VScode 轻量级数据库管理插件
- 聊聊近期出版或将出版的几本 Go 图书
- 像“打游戏”一样用Numpy,这个可视化编程环境了解一下?
- 【廉环话】防疫一周年后的IT治理思考 --架构与服务目录