我不会是那个系统的开发者,也许在十年内我们会看到类似的新东西出现,不过我敢保证,它一定会长的很像Git。Git并非十全十美,但是Git的基本设计做得非常完整,这是其他源代码管理做不到的,我没有在装客气。
一部分原因在于Git是为我们的工作流程量身打造,另一部分是我提了很多次Git的分散式设计,再重复几次都不为过。Git是为有效处理庞大的专案如而生,像是Linux。它可以处理大家以前觉得很“困难”的事,不过那些对我来说像是家常便饭。
举个例子,使用其他源代码控制系统要执行合并是非常麻烦的事情,你得精心策画,因为合并兹事体大。这我没办法接受,因为我每天都要执行一堆合并。使用Git合并只消几秒钟,反而是写注解花掉我比较多的时间。所以基本上Git是为了满足我的需求而写出来的。
这种说法在过去说得通,不过现在不再是了。大家会这样想会有一些原因,但是只有一个原因站得住脚:“同一件事情,Git提供太多方法去达成。”
![]()
你可以用Git去做很多事情。Git有许多规则,规范你该如何使用Git,而这些规则跟技术关联没那么强,反而比较著墨在协作下如何发挥Git的功能。Git是个强大的工具,所以很一开始会被它吓到,而因为GIt的功能是如此强大,每次你都可以用不同的方法完成相同的事情。但一般来说,学习Git的最好方法是从基本开始,熟悉基础后再去摸索不一样的东西。
Git被认为很复杂是有它的历史因素在。其中一个原因是一开始它的确很复杂。一开始使用GIt做核心方面的工作时,使用者需要配置一些脚本。当时大部分的工作都花在开发核心,比较没有精力去顾及让Git易于使用。诚然,Git是很复杂,不过那也只是头一年左右的事情。
另外一个大家觉得它复杂的原因是Git与众不同。很用了CVS十几年,但Git跟CVS可是天差地远,不仅概念上不同,指令也不一样。Git从来没有想要模仿CVS,甚至想要反其道而行。如果你用类似CVS系统一段时间了,会觉得Git很复杂,甚至特立独行。比方说,为什么Git的版本编号不是“1.3.1”,像CVS那样递增的数字不是很好吗?为什么编号是恐怖的40字元HEX码?
但Git并不是特立独行,而是这些改进是必须的。某些人觉得复杂的原因是时代的递嬗,使用CVS的时代已经过去了。现在很多工程师也许会搞不清楚CVS的操作方法,只是因为他们先学了Git。
呃,没有Git,好吧。不过一定会有人写出类似Git的分散式源代码控制系统,我们绝对需要像Git的东西。
GitHub提供很棒的程式码托管服务,这方面我对它没有什么抱怨,不过我对GitHub比较有意见的地方是,GitHub作为一个开发平台,它的提交、拉取要求、议题追踪等功能运作的不是很好。GitHub有太多限制,跟核心比还差得远。一部分的原因是在核心如何被建立,另一部分原因是GitHub的界面会养成使用者的坏习惯。因为GitHub界面的设计,在GitHub上提交会有品质不好的提交讯息等。在这方面他们做了些改善,不过永远不会适用于像Linux核心的东西。
使用它们建立一个新专案非常简单。以前要开启一个专案很让人头痛,但使用Git或GitHub去建立小型专案实在轻而易举。
目前没有,如果有的话我会告诉你。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shumachanpin/article-69940-2.html
大发
你厉害你来