为了配合Redmine使用,特地用Git来做版本控制。
Git Candy© 是一个基于ASP.NET MVC的Git分布式版本控制平台,Git Candy的目标是轻松干掉Bonobo,逐渐追赶Github,并用微创新超过Github.
选择Git服务器部署策略
找了一圈,发现如下方法来架设Git服务器:
通过比较发现需要CopSSH/Cygwin等环境的应用配置起来比较复杂,剩下的几个支持git smart http协议的web应用配置起来比较简单:
Bonobo Git Server
WebGit.NET
Git-Web-Access
scm-manager
Gitblit
Gitalist
最后再根据更新/稳定等因素筛选出Bonobo Git Server、scm-manager、Gitblit,结果最终选择了scm-manager。
配置scm-manager
安装为系统服务:
然后在系统服务里设置为自动启动,然后启动服务就可以通过http://localhost:8080访问了,默认用户名和密码都是scmadmin。
登进系统以后通过Repository Types修改Git中心库存放的路径。
修改默认的管理员用户名或者是其他的一些配置都可以找到%userprofile%\\.scm\\config目录下的相应xml配置文件来修改,注意要重启scm-server服务。
更新:低版本操作系统如server 2003可能会在C:\\Documents and Settings\\Default User\\.scm这样的目录下,而不是当前用户文件夹
如果要启用邮件以及提醒,还需要安装插件scm-mail-plugin、 scm-notify-plugin,然后在设置中把Mail相关的SMTP设置填写好。
如果代码提交要跟Redmine关联,还需要安装插件scm-redmine-plugin,然后在项目信息里的Redmine选项卡配置Redmine地址为http://localhost:3000;
如果要启用更新、自动关闭,还需要scm-manager和redmine使用同样的用户名密码,而且Redmine设置里必须启用REST API;
然后在提交的时候需要用git commit –m “(#问题ID) fix 修复内容”来关闭问题,可以用的关键字如fix,fixed等可以自行配置。
客户端安装
偏向使用命令行的只装msysgit就足够了;如果要使用图形界面可以选择msysgit自带的git gui,或者是另外安装git extensions或tortoisegit;个人感觉git extensions的图形界面比较强大,如果安装它的话一定要安装上KDiff3。
更便捷的就是与Visual Studio集成了,Git Extensions安装的时候可以选择安装Visual Studio插件集成;另外还有一个工具可以进一步提升便捷性Git Source Control Provider:http://gitscc.codeplex.com/,它依赖于msysgit和git extensions,可以在官方网站下载安装或者在visual studio扩展管理里面搜索git进行安装。
Git配置
Git客户端安装好之后最好配置一个全局的用户名及邮箱:
这个配置在新建Repository时可能会用到;另外可以通过一下命令来查看配置:
Git相关资料