Mythsman


乐极生悲,苦尽甘来。


Git版本控制入门

最近看了很多大牛的博客,感觉在迷迷糊糊的考试周里突然又有了学习的动力,不知不觉对工程也有了兴趣。以前总是怀疑我是不是不应该学软件工程而是该学计算机科学,现在想想但是还真是naive。虽然身边的那些师兄、同学都说搞工程什么的特别low(感觉我以前内心深处也是这么想的0.0),但是仔细看了看他们自己似乎也没有什么特别大的成果。我总觉得肚子里越是没有干货的人就越是喜欢对自己稍微了解的领域评头论足。当然,说实话我对Software Engineering这个行当也不是很了解,而且感觉同专业里大多数人了解的应该不会比我多多少,但是这并不是止步不前的借口。且不说知乎上那些大一就能够经济独立的同学,或者是已经工作了的博主,就是身边也有很多取得出色成就的牛人。马上大三了,还有很多路要走。真正搞代码的人虽说从骨子里都有种傲气,但是我们也都清楚真正的力量和自己的藐小。总觉得乔帮主对干咱们这个行当的人总结的特别好,stay hungry,stay foolish.

屁话撸多了,言归正传,既然要搞工程,首先肯定得会搬砖。所谓搬砖嘛,也就是把建筑材料拼拼补补,一点一点的堆起来,最后弄成个小房子。这件事本身其实没有什么问题,一个小房子自己搞搞也能弄完,出了问题也没人推,自己的设计自己也清楚。但是如果是盖大房子呢,这肯定就不能是一个人就能搞定的了,得有很多人一起弄,那么这就有些麻烦了。搞不好就是你碰了我的砖,我动了你的砖,出了问题我也可以说这块砖不是我搬的等等很麻烦。这就引出了版本控制的重要性,现在几乎所有的项目都是用版本控制和仓储工具的,存在的意义也没什么好争辩的了。在这当中我想最出名的就是Github了,不过Github也只是git版本控制的一个仓储平台,类似的平台还有很多,比如oschina里的git(吐槽下github的网络不稳定,感觉oschina才是比较实用的东西。。。),最终用的是git版本控制方法。而git也只是各种版本控制和仓储工具的一种,还有很多类似SVN、CVS等,不过git应该算是最流行的了。

对于git的安装、使用和它的优点以及细节,Pro Git这本书已经写的非常好了,可以作为教程学习(比那些上来就写命令的菜鸟教程好多了)。这个书的来源也十分值得研究https://github.com/progit/progit,搭建这个阅读环境的方法也十分漂亮。

具体的操作也就不提了,书上写的已经是非常好了,有问题直接查阅。