使用Gitblit管理小型git仓库和客户端配置

本文主要记录了我自己在局域网中Git远程仓库端机器及客户端配置的学习过程,试过两台机器的配置都OK,鉴于Gitblit的服务器也应该是基于局域网的(克隆、拉取的仓库地址都是局域网IP),所以应该具有一定的保密性。

1.Git远程仓库机器配置过程

搭建Git服务器教程源文档,怎么配置Gitblit我都是照着上面做的:
https://blog.csdn.net/wfl_137724/article/details/76684982

之后后面融入我自己认为还需要注意的点和配置的地方。
我安装的是JDK10,jdk10下载地址:
http://www.oracle.com/technetwork/java/javase/downloads/jdk10-downloads-4416644.html
gitlit直接复制使用该文件夹:
举例gitblit的根目录:D:\SmallSoftwares\2018-4-1-Gitlit

开启Gitblit服务:

这里写图片描述
登录:http://192.168.191.6:10101(IP地址具体是当前仓库服务器的局域网IP地址)去管理用户和管理版本库,如图是我新建的仓库:(尽量选择高安全程度的选项避免被随意克隆)
这里写图片描述

需要留意的是为了保障安全性,又避免混淆所有人都占用admin账号去使用,因此需要admin管理员优先添加所有团队成员信息:包括成员名、成员邮箱、密码以及相关权限的限制。需要留意的是所有添加的成员用户名均会转为小写。(因此配置成员数据前,需要收集所有人的用户名及邮箱信息)
在admin账户登录状态下右上角小方块的下拉菜单“用户”菜单中,添加管理用户:该项用于限制哪些用户可拉取仓库:(由于Gitblit的用户名和Git提交的用户名不相关,二者完全可以不一致,)
这里写图片描述

至于admin账户添加完各个成员之后,是如果实现用户分权限管理的,简陋的体现在克隆地址的不同上。例如我的测试仓库默认给定的克隆地址是:ssh://[email protected]:29418/GitTest2.git,
克隆该地址相当于以admin管理员的身份去访问仓库,但便于后续实现权限有别,各客户端克隆前需要将admin修改为自己的用户名,如改为ssh://[email protected]:29418/GitTest2.git,则输入验证密码的时候也需要输stephanieolddell对应的密码。
因此:需要在成员克隆之前,为所有成员分配用户名及密码,并将成员设备对应的SSH Key添加到Gitblit 管理员账号的SSH Keys中才能拉取(我约定了仓库属性为限制人拉取和提交。)
如下图为仓库信息页,右上角 “编辑”->添加允许访问的成员:
这里写图片描述
未被管理SSH Key及没有仓库权限的用户将不得拉取项目:

这里写图片描述
最后一点:需要留意的是,成员客户端不应该也最好不要用admin管理员账号去克隆仓库。

2.Git客户端配置建议

作为客户端用户的必要软件:Git
安装Git(下载地址:https://git-scm.com/downloads)以及客户端的GUI工具,使用Git内置的GUI+命令行已可满足全部需求,或推荐用TortoiseGIt(https://tortoisegit.org/download/),小乌龟版Git界面比较简洁,容易上手:

其他客户端https://git-scm.com/download/gui/windows,可好奇心任意尝试(建议躲过老版本的SourceTree雷区,慢到不能呼吸~)

作为客户端的git用户,克隆仓库的时候提示输入密码,由于我以admin的账号url克隆的,此时输入的是Gitblit的管理员密码,默认是admin

这里写图片描述

首次输入用户名密码之后,最好指定保存一下,避免每次推送都输密码:
git bash或用 小乌龟自带的PuTTYgen小工具软件,先生成保存下puttyKey:
留意,生成PuTTY key的过程中于窗口区滑动多滑动鼠标,不然容易卡进度条。
这里写图片描述
然后小乌龟设置中,指定生成的秘钥路径,避免每次拉取输密码(以及:远端分支名origin,URL也必要填值 或 选中origin填充默认值)
PS:可能我用TortoiseGit的缘故,修改config文件中的helper=store似乎没有用,输了密码下次拉去还是得输。
这里写图片描述

最后如图即为克隆成功!
这里写图片描述

最后有一点需要留意的是,需要在每个Git客户端配置用户名时保障唯一性:如图yuhezhangyanru将会在Gitblit作为提交提交者信息出现,避免重复。
这里写图片描述

最后附上TortoiseGit的用法录屏,针对添加、删除、修改文件的提交,以及单独针对合并时有文件冲突的:
点击跳转到视频

猜你喜欢

转载自blog.csdn.net/stephanie_1/article/details/79789851
今日推荐