Git心得

Git用了多年,也该写点心得,梳理下知识。搬砖的码农肯定知道版本控制这个东西,而Git是一款老少皆知的分布式版本控制软件的代表,看看github的火爆程度就知道了。如果你是码农界的一员,要是没听过github,这么多年的代码估计都敲到狗身上了。

Git命令

关于Git的入门,《Pro Git》这本书挺不错的,当粗我看的就是,200多页,几天就翻完了。具体的命令,就不详细解释了,翻翻手册就可以了,这里贴出我常用的一些命令缩写,用到的频率非常高:

Git代码托管系统

用Git肯定不得不提到Git托管系统,虽然说Git是分布式的版本控制软件,但一般开发环境下,还是需要一个中心服务器,作为信息共享中心。我之前用过两款可本地建站的程序,一款是Gitolite,另外一个是Gitlab,当然还有其他的,如gitosis,gitbucket之类的,就不做介绍。

Gitolite是最初接触Git时用到的,简约到粗暴,没有界面,完全是手动修改配置文件,不过有一点比较不错,就是能够设置每个用户对于某一个分支的权限,在权限控制方面不得不说,要优于后者Gitlab,因为Gitlab只有类似角色(如owner,developper,reporter)的权限控制,要做更小粒度的划分,就非常困难了。

但是,不得不承认,Gitlab是大势所趋,功能丰富,使用简单,这才是王道。第一眼看到,就觉得非它莫属。关于分支的权限控制,其实Gitlab也可以做一些限制,如设置关键分支为protected即可,这样就能避免对其强制推送或删除,而且本身Git功能强大,一般错误也是能够挽回的。

另外还有很多提供Git代码托管服务的网站,如github, bitbucket,gitcafe,coding,csdn,oschina。我比较喜欢的是github,很多知名开源项目都在上面,人多,热闹,但是缺点也很明显,私人库是要收钱的,但是他有一个比较不错的免费服务,github pages,我的博客就托管在上面;关于bitbucket,它提供了5个免费的私人库,但是成员人数受限,因此也不是很舒服;而后面几个都是国内的,特点就是免费,其中csdn还是挺不错的,还提供了类似github gist的代码片段托管服务。

Git作为备份工具

Git其实很多时候,不一定是码农的专利,你如果写点文档或者写个小说,都可以用到Git,轻轻松松创建快照,并且可以随心所欲的回溯。之前实验室Redmine备份,我是一个时间点,创建一个文件夹,所有的内容都复制进去,然后用rsync同步到远程备份服务器。可想而知,冗余的一塌糊涂,而且严重占用磁盘空间。

后来自从用了Git,真心省空间,只需要在远程辈分服务器创建一个bare库,可使用git push轻轻松松完成同步,就是这么高效。

代码白写了

Reference

12 款各种编程语言实现的 Git 代码托管系统 细数国内代码协作平台

comments powered by Disqus