Windows 7 下使用gitblit + git 搭建小组内文件版本控制环境
一、GitBlit下载及配置
使用前先看下GitBlit的百科介绍,很简洁:需要java运行环境;是一个纯 Java 库用来管理、查看和处理Git 资料库。即一个基于Java的分布式版本控制系统。
1、GitBlit的下载
(1)可以去http://www.gitblit.com/下载最新版本,这里提供一个1.8版本的网盘链接
https://pan.baidu.com/s/1zTSvdYG8PW1o49Z-cuGoWw 密码:iv3c
(2)下载之后直接解压即可,可以看到其目录结构如下
2、GitBlit配置
(1)进入data目录,可以看到defaults.properties、gitblit.properties两个属性文件
(2)打开gitblit.properties可以看到其引入了defaults.properties文件,也就是说我们在defaults.properties中配置信息即可
(3)修改配置信息前,先复制一份作为备份;然后开始修改,用文本编辑器打开defaults.properties文件,可以看到参数都有其注释。
这里改下服务器端口:server.httpPort就好,任意改个未占用的端口号,https的不需要改
注:还有两个参数,服务器绑定地址不用设置,否则局域网内其他的地址访问不了
(4)回到软件根目录,打开gitblit.cmd,启动服务(PS:如果你启动失败,确认下是否已配置好JDK)
(5)启动成功后,进入浏览器,输入自己的IP地址:端口号,我这里是http://192.168.0.52:666/,进入如下界面
注:可以打开命令行,输入ipconfig查看自己电脑ip地址
3、GitBlit创建用户
(1)登录默认管理员用户:admin,密码也是admin
(2)登入后,找到用户,点进去后点击“添加用户”
(3)随便创建一个测试用户,创建成功后可以看到已经显示到用户列表中
(4)同样可以创建一个团队,添加成员
(5)使用新用户登录系统
4、GitBlit创建版本库
(1)点击创建版本库
(2)创建完成后如下图
5、添加GitBlit至服务
(1)正常情况每次都要打开gitblit.cmd启动服务后,才能进入GitBlit系统,否则将看到下面这样
(2)这样感觉好麻烦,那么我们可以运行installService.cmd,把它加入Windows服务中,可以看到执行后同时也生成了uninstallService.cmd文件,用于卸载服务
注:启动服务如果报错,用文本编辑器打开installService.cmd,把变量ARCH默认的amd64改为x86目录值再试试
(3)在开始菜单输入services.msc打开服务,可以看到gitblit已加入服务中
(4)启动服务后,再次刷新网址,可以正常进入系统了
二、Git下载安装
1、Git下载
(1)链接:https://pan.baidu.com/s/1xvWp5NCvgAhICSKF_zBGog 密码:2rx7
(2)安装,一直下一步即可
(3)安装成功后,鼠标右键可以看到多了两个选项,一个是用户界面,一个是命令行界面,推荐使用命令
三、使用Git推送文件至GitBlit
1、生成ssh key
(1)任意建一个文件夹,右键选择Git Bash Here,打开Git命令窗口
(2)输入命令:ssh-keygen -t rsa -C "gitblit",提示信息直接回车即可;可以看到默认生成公钥文件路径为: /c/Users/Administrator/.ssh/id_rsa.pub
(3)复制公钥至gitblit上
2、从gitblit上克隆项目
(1)复制版本库地址,在Git中执行命令
注:其中遇到认证失败问题,如下填yes,会自动在.ssh目录下生成known_hosts文件
(2)克隆之后本地就多了这个版本库的文件夹
3、本地新建文件,推送至gitblit
(1)在test目录下新建一个文本文件
(2)Git Bash中进入test目录下
(3)执行git status命令查看状态,发现一个未添加的文件;运行git add test.txt把文件加入暂存区
(4)查看状态,文件待提交,执行 git commit -m "add a test file",提交文件至版本库
(5)·增加gitblit连接,执行命令 git remote add gitblit ssh://xinyi@192.168.0.52:29418/~xinyi/test.git
·推送当前版本库至gitblit: git push gitblit master
(6)刷新gitblit网页,可以看到文件已推送成功
(7)可以设置git的用户名 git config --global user.name xinyi
再次push后gitblit中提交作者就变成了设置的git用户名了