以前我在公司里推广过SVN,几年下来同事们普遍很抵触,在我面前抱怨SVN的各种问题,TortoiseSVN尽管方便了SVN的操作,但是操作错误发生的几率很高,往往是同事在删除、移动、重命名文件夹时,突然来个感叹号,搞的同事都不敢删文件了:)。还有就是那个rename,SVN是直接删除文件再添加的,偌大一个工程下每个都删除再添加一遍,看的我心都寒了。
Git自发布以来,借着Linux之父Linus Torvalds的名声大红大紫,有了像github这样的杰作。Linus还在演讲中公开侮辱SVN是史上最毫无意义的项目,从项目开始就这样了。Git不同于SVN的集中式管理,它是分布式的,代码仓库可以整个克隆到电脑上,也就是说一旦服务器挂了,你还可以提交、查看日志,这是SVN想都不敢想的。Git保持一贯的简洁和效率,这也是Git的设计原则,相比而言SVN一堆.SVN文件夹和龟速更新数据,差距很大啊。
说了这么多,到动手的时候了,从这里下载msysgit(Git for Windows),安装之后打开Git Bash。因为毕竟Git是Linux的东东,所以命令行操作也是不可避免的,如果习惯了乌龟TortoiseSVN的话可以考虑TortoiseGit,操作基本差不多。
至于学习的教程推荐Pro Git,熟悉Git的命令很有必要。
接下来就是设置Git了,还是那个中文编码问题(参考这里),这是中文用户永远的痛啊!
最后Show一下我在github上的初步成果:波波的github,fork了两个项目:
- kukkaisvoima: 本博客系统源代码,在原项目上扩展了中文和markdown语法支持。
- gvimfullscreen_win32: vim的全屏支持,我优化了一下代码。