Windows平台使用Gitblit搭建Git服务器

Git服务现在独树一帜,相比与SVN有更多的灵活性,最流行的开源项目托管网站Github上面,如果托管开源项目,那么就是免费使用的,但是闭源的项目就会收取昂贵的费用,如果你不缺钱,可以跳过。

Windows平台下Git服务器搭建

JAVA的安装及环境变量配置

略。

Gitblit下载与安装

下载地址:http://www.gitblit.com/。下载后的软件直接解压即可,无需安装。

解压文件目录可自行设置。

创建用于存储资料的文件夹。

Gitblit配置

  • 参考官方文档。修改gitblit安装目录下的data文件下的gitblit.properties。

    1. 其中include = defaults.properties注释掉,并添加include = my.properties
    2. 从data文件夹下发现了defaults.properties文件,这是gitblit的默认配置,复制一遍该文件,并改名为上诉修改的配置名称,我这里就是my.properties.

    3. 打开my.properties,主要修改以下几点:
      3.1. git.repositoriesFolder(资料库路径):这里改成自己新建的仓库目录路径(注意路径中要使用反斜杠),不改默认为gitblit目录下的git目录.

      3.2. server.httpPort:设定http协议的端口号。默认0表示禁用http协议. 

      http协议的端口号
      3.3. server.httpBindInterface:设定服务器的IP地址。默认没有内容,服务器本地可以通过localhost访问,如果指定,则只能通过指定的ip地址访问.
      服务器的IP地址

运行

  • 首次访问

    1. 运行gitblit根目录下的gitblit.cmd 批处理文件.
      gitblit启动运行

    2. 浏览器访问.
      首次访问

    3. 输入管理员账号admin/admin登录.
      登录管理员账号

    4. 可以修改登录密码,建议修改. 

  • 创建版本库

    1. 创建版本库,点击下拉菜单中的创建版本库,或者页面中版本库进行管理.
      进入创建版本库

    2. 输入名称,具体访问策略与初始化内容默认,根据实际需求更改.
      创建版本库

    3. 创建空的版本仓库成功,页面会有一些提示信息与命令,供用户用于向仓库中推送内容.
      空仓库初始页面

    4. 这里不使用管理员账户admin作推送,我们通过配置新的用户,在用户端(即客户端)推送内容到仓库。这也比较符合实际生产,admin账户只用来管理服务器站点,不参与实际业务。包括创建版本库,以后也可以通过配置权限,向用户授予权限。接下来创建一个用户.

  • 创建用户

    1. 点击下拉菜单中的用户.
      选择用户
      添加用户

    2. 点击右上角添加用户,进入明细页面,填写常规信息.
      常规信息

    3. 属性页根据具体情况,填写,可选.
      属性页面

    4. 访问权限页面,配置版本库权限.
      1).选择版本库,选择test.git.
      访问权限页面
      2).选择具体权限,选择R(克隆)(即读权限),点击添加.
      选择权限
      添加权限
      3).创建成功.
      创建成功
      4).另外再同样的方式配置用户test2,权限选择为对test.git拥有RW(推送)权限,以及用户test3,权限选择为对test.git拥有RWC(推送,创建ref)权限.
      创建更多用户

客户端运行

  • 安装git

本地安装git,略。

  • 配置

$ git config --global user.name "Your Name"

$ git config --global user.email "email@example.com"

配置git
需要指出的是这里并不需要与上面设置的test用户信息相同,名称与邮箱可用自己的账号

  • 访问站点

 

1).使用管理员新建账户test登录
test账户登录
版本库中没有内容,尽管admin配置了test仓库,并给予了test账户克隆权限,但是由于test仓库是一个空仓库,所以这里并没有显示。
2).退出test,使用test2登录
test2账户登录
可以看到test版本库,点击进入,如admin账户创建版本库之后的页面一样
进入test版本库
尝试使用提示的命令推送.
test2用户尝试推送
推送失败,因为test2只有RW(推送)权限,并不具有创建的权限。具体的权限可以参考官方文档.
权限列表
3).浏览器退出test2,使用test3登录
这里写图片描述
发现并不像test2登录时,有提示信息和命令,这是由于test2的提交,导致版本库生成了一些文件信息数据,大概620b,而提示信息和命令推荐只有在空版本库时才会显示。我们可以根据页面上提供的ssh://test3@ip:29418/test.git,以及模仿test2的操作过程继续命令行操作。
test3命令行操作
推送成功,浏览器刷新可以看到
推送成功页面信息
3).浏览器退出test3,使用test2登录,都能看到相同内容。接下来test可以通过克隆操作,下载版本库内容。test2不仅可以克隆,也可以推送自己的修改。演示略.

其他

  1. https安全证书访问。
  2. ssh无密码克隆推送操作,主要操作就是客户端命令行创建SSH Key,通过以下命令:
    $ ssh-keygen -t rsa -C "youremail@example.com",然后到用户主目录下找到.ssh文件夹,下面生成了id_rsa和id_rsa.pub这两个文件,将pub文件中的内容复制,上传到Gitblit站点自己账户的->用户中心->ssh,添加成功,则以后操作通过ssh://协议操作,则可以不用密码。

这里写图片描述

原文地址:https://www.cnblogs.com/mn-xb/p/7772150.html