前言
Gitblit 是一个开源纯 Java 的用于管理、查看和服务 Git 存储库。它是一个小型的托管集中式存储库工具。
支持 SSH、HTTP 和 GIT 协议,开箱即用。
Gitblit 融合了 GitHub、BitBucket 和 Gerrit 的元素,以提供基于主存储库中分支的简化协作工作流。
管理员可以从 Web UI 创建和管理所有存储库、用户帐户和团队。
注意:后续使用,需要安装Git-2.20.1-64-bit和TortoiseGit-2.7.0.0-64bit,TortoiseGit的汉化包看个人是否需要了。
步骤
1.下载安装JDK1.7以上版本
安装好后 输入java -version,显示出对应的版本号 即为安装成功
2.下载Gitblit安装包
gitblit下载地址
解压后的文件,放入一个没有中文路径的文件夹。
在刚才创建的 Git 目录下新建一个存储资料文件夹:GitRepo
进入gitblit-1.9.1/data/目录下,将default.properties文件备份一份,新命名一个为my.properties的文件,打开my.properties文件
将git.repositoriesFolder = E:/GitServer/GitRepo(改成自己存储资料的路径)
*注意: 这里的 D:/Git/GitRepository 中的 "/" 一定要用 "/"
找到 server.httpsPort,将其改成server.httpsPort=8443;
找到server.httpBindInterface,将其改成server.httpBindInterface=127.0.0.1(或者自己在局域网的IP地址);
找到server.httpsBindInterface,将其改成server.httpsBindInterface = localhost;
返回上级目录,运行 gitblit.cmd 批处理文件。启动GitBlit服务
打开浏览器,输入:https://localhost:8443.即可进入gitblit的网址。
设置 Windows Service 启动 GitBlit
如果你不希望每次开机后都要手动双击运行 gitblit.cmd 文件才能访问服务器,那么设置以 Windows Service 方式启动 GitBlit 就非常有必要了。
在 gitblit-1.9.1 目录下,找到并打开 installService.cmd 文件,修改内容如下:
1. 修改 ARCH:32位系统:SET ARCH=x8664位系统:SET ARCH=amd64 2. 添加 CD 为 GitBlit 安装包路径:SET CD=SET CD=D:/Git/gitblit-1.9.3 (大家根据自己实际目录路径填写) 3. 修改 StartParams 里的启动参数,赋值为空即可:--StartParams="" ^
以 Windows Service 方式启动 GitBlit
右键 => 以管理员身份运行,GitBlit 目录下的 installService.cmd 文件
(win+R -> 输入services.msc)打开服务(本地),会发现 gitblit 服务已经存在了
此时如果 gitblit.cmd 文件已经关闭了(并且不重启电脑),在网页访问 GitBlit 服务器会发现被拒绝,原因是服务(本地)存在的 gitblit 服务还没正式启动,需要手动设置一下 ;
*注:刷新网页,服务器访问成功!
使用 GitBlit 服务器管理用户与项目
1. 首次访问 GitBlit 服务器,默认管理员的用户名和密码都是 admin,出于安全考虑可更改登录密码。
2. 一般来说,管理员都是管理用户和项目的,基本不作为 Git 项目的实际操作者(如,拉取、推送代码等)。
3. (admin)管理员的作用:创建新用户或团队,创建新项目或项目分支,编辑项目用户或团队权限,删除项目版本库等。
创建新的版本库
以创建一个 test.git 版本库为例,操作流程如下。
- 先点击图中的 "1.版本库",然后再点击 "2.创建版本库"
- 填写项目名称和描述(注意:名称最后要加 .git,如果不加服务器会默认添加)
- 选择限制查看、克隆和推送
- 勾选 "加入README" 和 "加入.gitignore文件"
- 然后选择构建版本库需要忽略的文件,如 VisualStudio
- 最后,点击 "创建"
创建成功后,进入对应的新版本库,显示如下
点击 "目录",可以看到版本库的初始文件 。
其它一些功能和gitlab类似。
Git客户端的安装配置
1.安装:直接下载Git安装包 ,一键安装即可
2.配置:
将 SSH 公钥配置到 GitBlit 服务器
- 查看 SSH 公钥的方法:在任意文件夹下点击右键,选择 Git GUI here。弹出的界面如下
- 点击主菜单的【Help】→【Show SSH Key】
*注:如果电脑还没有 SSH 密钥,此时显示的内容是空白的,需要生成一对 SSH 密钥(其中密码可以为空,根据自己实际需要是否填写)!
为空的话,关闭Your OpenSSH Public Key软件,重新点击Show SSH Key,出现的就会有
SSH的Key了。
点击 "复制到剪贴板",把 SSH 的公钥粘贴 GitBlit 服务器对应用户的后台配置中 。
用户中心->SSH Keys
,将复制的SSH key粘贴到网页上,点击“添加”即可。出现以下界面。
通过 Git 客户端拉取 GitBlit 服务器版本库代码
- 使用新创建的用户名和密码登录 GitBlit 服务器
- 复制红色框中的版本库URL
- 本地创建一个 Test 目录并进入,右键选择 "Git Bash here"
- 此时通过 Git 客户端拉取代码,提示错误(没有权限)
-
$ git clone ssh://admin@127.0.0.1:8443/test.git 20:23 Update failedUnable to negotiate with 127.0.0.1 port 8443: no matching host key type found. Their offer: ssh-rsaCould not read from remote repository.
解决方法:进入 C 盘用户(账户)下的 .ssh 目录创建一个 config 文件,内容如下
Host *HostkeyAlgorithms +ssh-rsaPubkeyAcceptedKeyTypes +ssh-rsa
重新通过 Git 客户端拉取 GitBlit 服务器版本库代码,成功!!!
git clone ssh://admin@127.0.0.1:8443/test.git
URL地址中中填入获得的SSH链接(ssh://admin@localhost:29418/sgp4Test.git),然后点击确定。
使用tortoiseGit工具,在提交或者拉取的时候,弹出如下窗口 ,输入密码即可,默认是admin.