赞
踩
考虑到CVS的一些局限性,最近和同事在公司推行Git。 其实,如果推行SVN的化,可能推行的难度会降低很多。不过lark说既然推行一个新的版本管理工具,总要花费一定的时间进行培训、部署、转换。而推行Git和SVN的代价不如想象中差距那么大。因此,不如就多花些精力推行Git , 可以带来更多的好处。 这个想法说服了我。 然后就开始筹备了。 我发现网上很多git教程对一些基础命令(比如git-reset)的介绍还是不够清楚。另外,介绍git1.5的少,介绍git1.4的多。此外,对于如何基于Git合作开发,介绍的内容也是少之又少。因此,决定写一份教程,以减少在公司推广Git的培训代价。 其实我也是一个Git的新手。 写这份教程也是我自己学习和摸索git的过程,其中基于Git进行合作开发的模式参考了CVS,应该是很初级的合作模式。但是当前自己也只能做到这一步了。 教程所述都是自己通过试验验证的。至少可以满足公司基本的合作开发。教程写完后,谢欣说可以放到blog与大家共享。我觉得是个不错的主意。一方面我觉得这个文档应该可以给git的新手一些帮助,另一方面也欢迎git的大牛指点。 这里要感谢《Git 中文教程》的作者。还有概述中关于git的优点描述拷贝了网络上某位大牛的原话,但是拷贝的出处也是转载的,就在这里谢谢那位我不知名大牛了。 下面就开始了。 1. 概述 2.1 创建Git库—git-init 创建一个Git库是很容易和方便的,只要用命令 git-init 就可以了。在Git1.4之前(包括git1.4)的版本,这个命令是git-init。 2.4 查看版本库状态—git-status 2.7 远程获取一个git库 git-clone 2.8 从远程获取一个git分支 – git-pull 2.9 将本地分支内容提交到远端分支 – git-push 需要格外注意的是,git-push好像不会自动合并文件。这点我的试验表明是这样,但我不能确认是否是我用错了。因此,如果git-push时,发生了冲突,就会被后push的文件内容强行覆盖,而且没有什么提示。 这在合作开发时是很危险的事情。 2.11 更多的操作 3. 基于git的合作开发 酷讯会准备一个中心git代码库。首先,我们将整理好的代码分模块在git中心库中建立git库。并将文件add到中心库中。 接下来,开发者通过git-clone将代码从中心库clone到本地开发环境。
3.2 开发者在本地进行迭代开发 当用户将代码clone到本地后, 就可以进行本地的迭代开发,建议用户不要在master分支上开发,而是建立一个开发分支进行开发。 在本地开发中,用户可以随意的创建临时分支,随意commit。
3.3 开发者请其它同事进行code review 当本地开发完毕,可以请其它同事进行code review。过程为:
使用过CVS的人都知道, 在commit之前,都要做一次cvs update,以避免和中心库冲突。Git也是如此。
此时,已经完全准备好提交最终的代码了。 通过git-push就可以了。
诚然,带来这些好处的同时,确实也使得操作比CVS复杂了一些。但我们觉得和前面所能获得的好处相比,这些麻烦是值得的。 当大家用惯了之后会发现,这并不增加多大的复杂性, 而且开发流程会更加自然。 请大家多动手,多尝试! 去体验git的魅力所在吧!let’s enjoy it! |
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。