这个项目在Github上火了,还不会用Git的程序员,这下赚到了

新闻 前端
2005 年,Linus在非常短的时间内把Git开发出来了。Git是一个 “分布式版本管理工具”,堪称版本控制瑞士军刀。

[[342149]]

 2005 年,Linus在非常短的时间内把Git开发出来了。Git是一个 “分布式版本管理工具”,堪称版本控制瑞士军刀。这个可靠、多才多艺、用途多样的校订工具异常灵活,以致不易掌握,更别说精通了。

但是话又说回来,一个精通Git的程序员,会帮你在履历上加不少分,而且对你日常的工作效率也会有很大的帮助。如果你还没开始学Git,不妨先把Git的内部机理放在一旁,先学习Git的使用。

今天和大家推荐一本很热门的Git手册——Git Magic。这本书是由毕业于斯坦福大学CS专业的Ben Lynn撰写,在这本书是是书里他会对Git的功能特性进行介绍,在反复应用之后,慢慢地你会理解每个小技巧如何工作,以及如何组合这些技巧以满足你的需求。

这本书已经被翻译成中文、法文、德文、葡萄牙文、俄文、西班牙、越南文等多个语言版本。除此之外,你可以选择多种阅读方式,在线阅读或者是下载PDF文件,Debian包、Ubuntu包等,还有在亚马逊售价9.95美元的实体书。

这本书一共分为10章,从入门到基本技巧介绍,再到代码库克隆、多人协作Git以及更高端的Git功能等:

 

下面我们一起来看看【基本技巧】这一章,作者是如何和我们介绍的:

保存状态

在做之前,先为当前目录所有文件做个快照,使用:

  1. $ git init 
  2.  
  3. $ git add . 
  4.  
  5. $ git commit -m "My first backup" 

现在如果你的编辑乱了套,恢复之前的版本可以使用:

  1. $ git reset --hard 

再次保存状态:

  1. $ git commit -a -m "Another backup" 

添加、删除、重命名

以上命令将只跟踪你第一次运行 git add 命令时就已经存在的文件。如果要添加新文 件或子目录,你需要告诉Git:

  1. $ git add readme.txt Documentation 

类似,如果你想让Git忘记某些文件:

  1. $ git rm kludge.h obsolete.c 
  2.  
  3. $ git rm -r incriminating/evidence/ 

这些文件如果还没被从系统中删除,Git将会删除它们。

重命名文件同删除旧文件,并同时添加新文件一样。也有一个快捷方式 git mv ,和 mv 命令的用法一样。例如:

  1. $ 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

 

责任编辑:张燕妮 来源: 开源最前线
相关推荐

2021-08-25 08:17:28

程序员操作系统GitHub

2021-03-16 15:12:57

CompletableFuture机制java

2020-02-24 10:45:44

代码开发工具

2020-05-14 08:59:28

API网关性能

2022-02-22 08:25:51

typeScript泛型概念泛型使用

2021-03-18 13:58:43

程序员技能开发者

2020-10-21 10:02:16

架构运维技术

2020-07-22 14:30:50

程序员财富蚂蚁金服

2020-07-17 11:30:39

密钥Github数据安全

2020-12-10 10:24:25

AI 数据人工智能

2021-01-18 06:43:54

程序员公务员996

2020-09-01 14:17:03

WindowsDefender微软

2020-12-30 10:35:49

程序员技能开发者

2013-04-28 11:03:41

编程语言程序员私有云

2020-12-18 09:45:33

DockerLinux命令

2014-05-22 14:36:34

2019-12-19 16:22:38

程序员征文

2020-11-09 09:03:35

高并发多线程ThreadLocal

2020-09-27 06:50:56

Java互联网注解

2018-09-13 10:40:40

Linux命令find
点赞
收藏

51CTO技术栈公众号