1.使用msysgit
msysgit是通过MingGW编译的git版本(http://code.google.com/p/msysgit/),包含基本的类Linux环境,比如bash、vi、tar、gzip、msmtp。此外其提供的gitk、git-gui两个图像化工具使使用更加方便,根据实际需要还包含了git-svn来迎合SVN的支持者。
虽然其版本更新并没有紧随git-scm.com中的版本,但其可用性也是非常高。msysgit不包含git-daemon,git- cvsserver等作为代码仓库的功能,所以在两个coder之间传输代码会比较麻烦,比如用U盘拷贝。
2.使用TortoiseGit
TortoiseGit是使用TortoiseSVN源代码进行改写的Git图形化工具,适合不习惯命令行的用户使用。其上的菜单完成了绝大部分git常用功能,但我个人感觉其使用上不如“命令行+gitk+git-gui”使用起来方便。
3.VS、Eclipse插件
这是一个哲学问题了,如果使用TortoiseGit就没有必要使用适合开发工具的插件,而TortoiseGit又不如直接使用msysgit方便,那么使用插件就没有意义了^_^。
实际上只要设置好“.gitignore”文件,就可以方便过滤掉开发工具所产生出的临时文件,比如*.obj,*.class,而插件最大的功能就在于此;此外由于开发工具自身的限制也会让插件失去msysgit部分特征,得不偿失。
4.管理大型项目
这里的大型项目,并不是Linux Kernel这样的单工程项目,而是指包含多工程构成的项目。这里有两种方式,第一种是项目使用一个库(包含所有工程),第二种是每个项目一个库。
第一种方式,适合所有代码都是公开的不存在代码保密性的项目。这样tag与branch都是应用在整个项目上的,是Git推荐的方式。
第二种方式,适合需要部分代码进行保密(比如分用户权限)的项目。这样会有一些额外的工作要做,比如tag与branch是每个工程独立控制的,同时为了构建“可开发”环境需要手工构建出一个支持环境(比如,其他项目生成的库、DLL的存放)。
以上两种方式都有比较好的特征,第一种“完整”、第二种“灵活”。
5.迎合SVN的支持者
许多公司的代码都从CVS转入SVN进行管理,并且他们对于这种可以随意设定权限、代码集中存储方式已经很是熟悉,并且对SVN的问题也能够继续忍受下去了。在这样的情况,一个Git的支持者就可以很好的使用git-svn来享受Git的方便。
git-svn内置了svn的运行库,只需要设置git环境就可以有效使用,除了通过”git svn rebase”、”git svn dcommit”两个命令与SVN库同步外,根本就感觉不到SVN的存在。Git有效的避免了SVN在使用中的不便,而git-svn又兼顾了SVN的已有环境,对于SVN支持者来说,我感觉这是一种非常完美的搭配。
Comments are closed.