Windows平台下Git(gitblit)服务器搭建

环境:Windows 10 专业版32位 
因为公司服务器上已经搭了Visual SVN等,只好在Windows上搭个Git Server给大家用。 
参考链接:http://www.cnblogs.com/ucos/p/3924720.html (下文称为链接A) 
http://www.cnblogs.com/lwme/archive/2012/12/25/configuring-git-server-and-client-on-windows.html (下文称为链接B)

原本想用A中提到的CopSSH+msysgit+putty方案,感觉配置起来太麻烦了。于是试了B中提到的Gitblit。

  1. 下载安装Java, 或 JDK 。奇怪的是我在cmd里输入javac后提示javac不是内部或外部命令。但在cmd里java命令是可以的。同时http://java.com/verify 有验证是已经安装了Java。我就没管,继续下一步。 
    一些截图: 
    这里写图片描述 
    JDK和JRE安装在同一个目录里。

这里写图片描述 
环境变量:JAVA_HOME

这里写图片描述 
环境变量:CLASSPATH

这里写图片描述 
环境变量:Path

Java的环境变量配置网上很多教程,我这里就不具体写了,请参考链接A。

这里写图片描述 
我这 javac 命令是无效的,但 java 命令有效。

2. 
下载gitblit(我这用的版本是1.7.1),解压,链接A中说是编辑 gitblit.properties 文件,但我这边发现是得编辑 defaults.properties 文件。

git.repositoriesFolder = D:\Git\GitRepository

server.httpPort = 10101

server.httpBindInterface = 192.168.1.199

server.httpsBindInterface = localhost 
保存。 
相关截图: 
这里写图片描述 
这里写图片描述 
这里写图片描述

双击运行gitblit.cmd

然后在局域网内用浏览器访问 http://192.168.1.199:10101/ 就可以了。

建了个Test的 Repository。 
这里写图片描述

比较惊奇的是它支持Sourcetree。

3. 
设置以Windows Service方式启动Gitblit. 
修改 installService.cmd 文件。 
1)修改 ARCH 
    32位系统:SET ARCH=x86 
    64位系统:SET ARCH=amd64 
2) 
添加 CD 为程序目录 
    SET CD=D:\Git\gitblit-1.7.1(你的实际目录) 
3) 
修改StartParams里的启动参数,给空就可以了。

这里写图片描述

4)保存后右键 installService.cmd,以管理员身份运行。 
可以在系统的服务里看到gitblit,平时使用时,保持这个服务是启动状态就可以了。

======2016年6月3日更新======= 
目前我还没明白为什么要以Windows的服务来运行,直接双击gitblit.cmd就好了。 
我后面出现一个奇怪的问题,我运行完gitblit.cmd时,窗口启动后,显示一堆的东西后就关闭了,重启系统也是一样。解决办法就是先双击gitblit-stop.cmd后,在双击gitblit.cmd。原因未知。猜测是之前用windows服务的方式来运行导致的问题。

后面看了官方的文档,以及default.properties里的注释说明,更明白了其使用方法。 
1. Java的配置只需要JRE,而不需要JDK,这样的话,Google一下JRE安装包就好了,不用配置Java环境变量等。参考链接:http://gitblit.com/faq.html 
2. default.properties是默认的配置文件,gitblit.properties里的配置信息会覆盖default.properties里的配置。 
3. git.repositoriesFolder这个参数其实也可以不配置,默认是${baseFolder}/git,上文中斜杠似乎是反的,官方给的实例是:e.g. c:/gitrepos 
4. 官方的配置文档中强烈要求用https(http://gitblit.com/setup_go.html),上文其实是偷懒的配置,只用了http,https的配置会麻烦一些。等我配好后再来告诉大家。

==========20160713更新========= 
默认创建的repository是局域网内知道该repository网址的人都可以访问的,需要设置repository的Access Policy为Restrict View, Clone, & Push(You choose who can see, clone, and push to this repository.) 
每个用户用时,得用自己的帐户进入GitBlit的页面,才可看到自己权限内的repository,以及相应的clone地址。

posted @ 2017-08-23 09:22  h2z  阅读(330)  评论(0编辑  收藏  举报