谈谈切换到Git的8个理由

系统
Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。当然,四处议论纷纷还不足以证明切换到Git上有多么正确。这里有8个力据能证明Git非常出色的有力事实。

提到版本控制,最近大家都在谈Git。当然,四处议论纷纷还不足以证明切换到Git上有多么正确。这里有一些能证明Git非常出色的有力事实。

1. 节省时间

想象一下,每次动鼠标前你都要等待5分钟。这非常讨厌是不是?有了版本控制也是一样——我们每个命令消耗几秒,但是工作一天也累积起来了。但是Git快如闪电。把你的时间用在其他更重要的事情上,而不是等待版本控制工具的响应。

null

2. 离线工作

你出差的时候要工作怎么办?用诸如Subversion或者CVS的集中式版本控制系统,如果你不能连上中央版本库你就不能工作。有了Git,在你的本地机器上几乎能做任何事:提交、查看项目完整历史记录、合并(merge)或者新建分支……Git让你来决定何时何地开始工作。

3. 回退错误

有时候我会犯错(我也不敢相信!)。我喜欢Git的是它的一个小小的回退命令就能用于几乎任何场景。修正最后一次提交,因为你忘记包含一个小改动。撤销整个提交,因为那个特性已经不再需要。而且当处境变得困难时,你甚至可以用Reflog来恢复“已删除”的提交——因为在幕后Git极少会真正删除什么。这样心定气闲。

4. 睡得香

你曾经粉碎过Subversion的版本库吗?我就做过(我说这个的时候记忆的伤痛犹在)。有了Git,我可以信心十足,因为团队里每个人在自己电脑上的克隆就是一份可用的备份。另外Git里的几乎每个操作都是增加数据(很少有删除的)。想搞砸都很难。这种感觉很好。 

5. 产生有用的提交

把牛奶、冰淇淋和番茄投到搅拌机里会有(至少)两个问题。首先,启动搅拌机后,看着这一团东西,没人能说出你实际上放入的是什么。另外,你没办法把番茄再“回滚”。你做的一批不相关的提交(一点点A特性,再带一点B特性,还有一个小小的补丁……)也是一样的。对你的队友来说,很难理解发生了什么。当出现问题时,他们也不能简单地回滚特性A。Git能帮你避免这种混乱和创建粒状提交。其独一无二的“缓存区”概念能让你决定在下一个提交里到底包含哪些改动,甚至小到哪些行。这是版本控制的用处所在。

6. 按自己的方式工作

当用Git工作时,你可以有你自己的工作流程。那个你觉得好的流程。使用Git你不需要成为编程高手。当然你可以连接多个远程的版本库,用变基(rebase)代替合并,需要时工作在子模块上。但是你也可以只是简单地工作在一个中央远程版本库上,如同在用Subversion一样。不管你的工作流程怎样,所有其他的优点都还在。

7. 不会把东西搞混了

分开关注是追踪事情的最高原则。当你工作在特性A上时,任何事(人)都不会被你未完成的代码所影响。如果这个特性不再需要了呢?或者如果在10个提交之后,你发现你做的完全不对呢?分支是这些问题的答案。其他的版本控制系统也有分支,但是Git是第一个让它做好它该做的:快速简单。

8. 潮流

只有死鱼才随波逐流。有时候聪明的开发者也这样。Git被越来越多的知名公司和开源项目所使用:Ruby On Rails,jQuery,Perl,Debian,Linux内核,还有很多。大型的社区通常自身就是一个优点,因为一个生态圈会围绕着该系统演进。大量的学习指南,工具,还有服务,会让Git变得更加吸引人。

英文原文:git-tower,编译:伯乐在线 – @奇风余谷

译文链接:http://blog.jobbole.com/41527/

责任编辑:黄丹 来源: 伯乐在线
相关推荐

2021-12-02 10:17:07

Kubernetes公共云云计算

2018-09-03 11:00:09

2013-01-11 14:35:46

Windows 8开始屏幕

2021-09-28 10:10:55

量子计算芯片超算

2018-10-29 07:13:45

2020-05-05 22:48:18

工业物联网IIOT物联网

2009-09-07 13:25:34

NetBeansOracle

2009-06-23 18:19:54

NetBeans英文界面

2021-04-17 17:59:21

Git命令开源

2012-11-23 10:05:33

2020-04-17 14:37:19

WindowsLinux微软

2020-02-11 15:50:51

WindowsLinux命令行

2013-03-21 09:34:30

2022-04-20 10:23:15

GoogleiPhone转移Android设备

2014-09-25 11:05:36

DebianGnome

2020-07-27 17:32:21

Fedora 33FedoraBtrfs

2024-04-08 08:09:10

埋点收集数据StartRocks数据存储

2018-10-31 10:37:29

云计算迁移云平台

2019-03-17 21:42:51

工业物联网IIoT物联网

2013-08-21 09:50:19

Windows 8
点赞
收藏

51CTO技术栈公众号