使用Gitblit软件开启git服务器

news2024/11/15 19:52:32

文章目录

  • 使用Gitblit软件开启git服务器,供局域网其他电脑当做git仓库服务
    • 1. java依赖环境安装
    • 2. Mac系统操作
      • 2.1 下载Gitblit、配置参数
      • 2.2 启动服务
      • 2.3 终止服务:停止脚本即可
    • 3. window系统操作
      • 3.1 下载Gitblit、配置参数
      • 3.2 启动服务
      • 3.3 终止服务:停止脚本即可
    • 4. 仓库的创建与管理
      • 4.1 给仓库添加新的用户
      • 4.2 删除一个仓库
    • 参考资料

使用Gitblit软件开启git服务器,供局域网其他电脑当做git仓库服务

有的时候,代码需要在局域网中电脑间共享,并协调工作,则可以使用Gitblit软件在本地电脑搭建一个git服务器,供局域网其他电脑使用。

关于Gitblit:

Gitblit是一个开放源代码的纯Java堆栈,用于管理,查看和服务Git存储库。它主要是为希望托管集中存储库的小型工作组设计的工具。

注:其实在网上还找到了使用git daemon命令启动服务的,经过尝试, 在自己的电脑中 拉取、上传代码没有问题,但是局域网中其他电脑只能拉取代码,不能上传代码。代码仓库中已经加入了:git config receive.denyCurrentBranch ignore 配置。启动服务的命令:git daemon --reuseaddr --base-path=. --export-all --verbose --enable=receive-pack

所以在网上又找到了这个软件,经过尝试这个软件是有效的。

1. java依赖环境安装

Gitblit软件需要依赖java环境,所以需要安装java依赖,如果已安装请忽略这部分,如果么有安装需要安装一下。

打开链接:https://www.oracle.com/java/technologies/javase-downloads.html

在这个页面中选一个版本,然后点击JDK Download按钮,进入下载版本,本人安装的是8的版本:

https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html

在这个页面中,选择对应系统的安装包下载,Mac系统的是jdk-8u281-macosx-x64.dmg

安装成功后,在终端中输入java -version命令,如果出现版本号,则表示安装成功:

$ java -version

java version "1.8.0_231"
Java(TM) SE Runtime Environment (build 1.8.0_231-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.231-b11, mixed mode)

2. Mac系统操作

2.1 下载Gitblit、配置参数

官网下载地址:http://gitblit.github.io/gitblit/

如果打开失败了,在Gitblit的源码仓库github页面中寻找:https://github.com/gitblit/gitblit

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

打开网站后,选择Download Gitblit GO (Linux/OSX) 点击下载,下载后,文件名:gitblit-1.9.1.tar.gz,解压后,把文件夹放到一个指定的位置,我这里放在了用户文件夹下~/

在解压的文件夹中gitblit-1.9.1data文件夹中,找到defaults.properties文件,使用编辑器打开,并编辑如下内容:

# 大约30行,git服务器的文件夹地址,这个文件夹用来存放git仓库,绝对地址
git.repositoriesFolder = /Users/user/gitblit-1.9.1/gitRepository

# 大约2069行,配置浏览器访问的端口
server.httpPort = 7070

git.repositoriesFolder的值是一个绝对路径,这个路径指向一个文件夹,用来存放git仓库。这个文件夹需要事先创建好。

文件修改完成后,保存即可。

2.2 启动服务

gitblit-1.9.1文件夹中,有一个gitblit.sh脚本文件,终端执行此文件,就可以启动服务:

./gitblit.sh

2021-03-28 20:11:38 [INFO ] 
  _____  _  _    _      _  _  _
 |  __ \(_)| |  | |    | |(_)| |
 | |  \/ _ | |_ | |__  | | _ | |_
 | | __ | || __|| '_ \ | || || __|  http://gitblit.com
 | |_\ \| || |_ | |_) || || || |_   @gitblit
  \____/|_| \__||_.__/ |_||_| \__|  1.9.1

2021-03-28 20:11:38 [INFO ] Running on Mac OS X (10.14.6)
2021-03-28 20:11:38 [INFO ] JVM version 1.8.0_231 (Oracle Corporation)
.....
2021-03-28 20:11:41 [INFO ] Started o.e.j.w.WebAppContext@fd0e5b6{/,file:/Users/user/gitblit-1.9.1/data/temp/webapp/,AVAILABLE}{file:/Users/user/gitblit-1.9.1/gitblit.jar}
2021-03-28 20:11:41 [INFO ] Started ServerConnector@c8eb6b3{SSL-HTTP/1.1}{0.0.0.0:8443}
2021-03-28 20:11:41 [INFO ] Started ServerConnector@362a019c{HTTP/1.1}{0.0.0.0:7070}
2021-03-28 20:11:41 [INFO ] Started @2923ms

执行脚本后,终端出现上面的输出信息表示启动成功。

本地电脑通过:http://127.0.0.1:7070/ 访问,局域网中通过这台电脑的内网地址加端口访问。Mac局域网地址可通过2种方式查看局域网中IP地址:

1、系统设置 -> 网络 -> 高级 -> TCP/IP 选项里面的 IPv4 Address

2、终端使用ifconfig命令,在输出的信息中找到en0里面的地址。

2.3 终止服务:停止脚本即可

如果要停止服务,终端停止执行脚本即可。停止后,刷新访问地址,可以看见网页无法打开了。

在终端使用control + C快捷键来终止脚本的运行:

2021-03-28 22:29:10 [INFO ] Stopped ServerConnector@362a019c{SSL-HTTP/1.1}{0.0.0.0:8443}
2021-03-28 22:29:10 [INFO ] Stopped ServerConnector@1d9bec4d{HTTP/1.1}{0.0.0.0:7070}
2021-03-28 22:29:10 [INFO ] Gitblit context destroyed by servlet container.
2021-03-28 22:29:10 [INFO ] Git Daemon stopping...
2021-03-28 22:29:10 [INFO ] Git Daemon stopped.
2021-03-28 22:29:10 [INFO ] SSH Daemon stopping...
2021-03-28 22:29:10 [INFO ] Stopped o.e.j.w.WebAppContext@fd0e5b6{/,file:/Users/user/gitblit-1.9.1/data/temp/webapp/,UNAVAILABLE}{file:/Users/suer/gitblit-1.9.1/gitblit.jar}

3. window系统操作

Window系统下搭建GIT本地服务器

3.1 下载Gitblit、配置参数

官网下载地址:http://gitblit.github.io/gitblit/

打开网站后,选择window版本的下载,下载后,解压。然后放到一个文件夹中,比如放在E盘根目录下。

在解压的文件夹中gitblit-1.9.1data文件夹中,找到defaults.properties文件,使用编辑器打开,并编辑如下内容:

# 大约30行,git服务器的文件夹地址,这个文件夹用来存放git仓库,绝对地址
git.repositoriesFolder = E:/gitblit-1.9.1/gitRepository

# 大约2069行,配置浏览器访问的端口
server.httpPort = 7070

文件修改完成后,保存即可。

3.2 启动服务

gitblit-1.9.1文件根目录中找到gitblit.cmd文件,在终端软件中运行这个文件:

./gitblit.cmd

2021-03-28 20:11:38 [INFO ]

执行脚本后,终端出现上面的输出信息表示启动成功。

本地电脑通过:http://127.0.0.1:7070/ 访问,局域网中通过这台电脑的内网地址加端口访问。

windows系统查看ip,在终端中输入ipconfig来查看。

3.3 终止服务:停止脚本即可

在终端使用control + C快捷键来终止脚本的运行。

4. 仓库的创建与管理

仓库的创建与管理都需要通过网站来完成,在浏览器中打开服务网站。

1、打开网站后,右上角输入账号/密码:admin/admin。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

2、登陆后,点击版本库菜单,进入git仓库管理页面,然后点击创建版本库,如下图:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

3、在创建仓库页面,输入创建仓库的信息,然后点击创建 按钮,创建仓库:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

4、创建后,就会进入到创建的仓库页面,在这个页面有一个仓库地址,复制这个地址给其他同事,然后其他同事添加这个仓库源。注意:地址一定要是局域网IP形式的地址。其他人拉取、上传git时,输入的密码就是地址中用户的密码(下面图片中URL中的密码是admin账号的密码)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

5、后期查看仓库可点击版本库按钮进入仓库管理界面。

4.1 给仓库添加新的用户

1、首先添加一个gitblit用户:登陆admin账号后,点击账号 -> 点击 用户 按钮 -> 在出现的页面中点击添加用户按钮,添加新用户。

2、给git仓库添加新用户:仓库页面 -> 点击 编辑按钮 -> permissions

4.2 删除一个仓库

仓库页面 -> 编辑 -> 管理 -> 删除

参考资料

本地搭建Git服务器,两台电脑共享代码如此简单

gitblit 软件github地址

Gitblit 官网

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1800990.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

科技云报道:走出“实验室”,GenAI迎来关键拐点

科技云报道原创。 对传统产业来说,GenAI是一场“哥白尼式的革命”,它改变了传统的业务模式,开启了人类与AI合作的新纪元。基于AI助手和大语言模型,企业能够实现智能运营的目标。 如果说,2022年是AI大模型元年&#x…

mysql工具----dbForgeStudio2020

dbForgeStudio2020,除了基本的操作外,还具有可调试mysql存储过程的功能,是一个不可夺得的mysql软件工具。 本文的软件将简单介绍软件的安装方式,仅供学习交流,不可做它用。 1.安装软件,安装后&#xff0c…

Chrome DevTools解密:成为前端调试大师的终极攻略

Chrome DevTools是一套内置于Google Chrome浏览器中的开发者工具,它允许开发者对网页进行调试、分析和优化。本文将全面介绍DevTools的功能、使用方法以及注意事项,帮助开发者更好地利用这些工具来提升开发效率和网页性能。 一、简介 1. DevTools是什么…

RabbitMQ-工作模式(Publish模式Routing模式)

文章目录 发布/订阅(Publish/Subscribe)交换机临时队列绑定总体代码示例 路由(Routing)绑定直连交换机多重绑定发送日志订阅总体代码示例 更多相关内容可查看 发布/订阅(Publish/Subscribe) 构建一个简单的…

Playwright框架入门

自从2023年底playwright框架火起来之后,很多小伙伴咨询我们这个框架,甚至问我们什么时候出这个课程. 这步这个课程在我们千呼万唤中出来了.具体的课程大纲和试听可以联系下方二维码获取. 今天给大家分享一下playwright的安装和一些常用API,为后续的学习做好准备工作. Playwrig…

批量重命名大解放!自定义取文本左侧长度,轻松实现文件名焕新之旅!

文件管理是我们日常工作和生活中不可或缺的一部分。然而,面对成千上万的文件,手动重命名无疑是一项繁琐且耗时的任务。今天,我们为您推荐一款高效便捷的批量文件重命名工具——文件批量改名高手,让您轻松实现取文本左的长度来进行…

【PythonCode】力扣Leetcode21~25题Python版

【PythonCode】力扣Leetcode21~25题Python版 前言 力扣Leetcode是一个集学习、刷题、竞赛等功能于一体的编程学习平台,很多计算机相关专业的学生、编程自学者、IT从业者在上面学习和刷题。 在Leetcode上刷题,可以选择各种主流的编程语言,如C…

【会议征稿,IEEE出版】EEI 2024,6月28-30

第六届电子工程与信息学国际学术会议(EEI 2024)将于2024年6月28日至6月30日在中国重庆召开。EEI 2024将围绕“电子工程”、“信息学”与“计算机科学”等相关最新研究领域 ,为来自国内外高等院校、科学研究所、企事业单位的专家、教授、学者、…

海康威视综合安防管理平台 多处 FastJson反序列化RCE漏洞复现

0x01 产品简介 海康威视综合安防管理平台是一套“集成化”、“智能化”的平台,通过接入视频监控、一卡通、停车场、报警检测等系统的设备。海康威视集成化综合管理软件平台,可以对接入的视频监控点集中管理,实现统一部署、统一配置、统一管理和统一调度。 0x02 漏洞概述 由于…

javacv ffmpeg使用笔记 (补充中...)

javacv ffmpeg使用笔记 一、maven依赖二、示例代码1. 获取视频时长 三、小技巧 一、maven依赖 使用javacv ffmpeg并指定classifier之后,就不需要额外安装ffmpeg软件(jar包中已经内置)了。 全量依赖包(不推荐)安装包总大…

Docker 管理 | 代理配置、内网共享和 Harbor 部署

唠唠闲话 在现代软件开发和运维中,容器技术已经成为构建、部署和管理应用程序的标准工具。然而,在实际操作中,我们常常需要面对一些常见的挑战,如容器访问外部资源的代理配置、内网环境下的镜像共享以及企业级镜像管理。 本教程…

Transformer动画讲解:注意力计算Q、K、V

暑期实习基本结束了,校招即将开启。 不同以往的是,当前职场环境已不再是那个双向奔赴时代了。求职者在变多,HC 在变少,岗位要求还更高了。提前准备才是完全之策。 最近,我们又陆续整理了很多大厂的面试题&#xff0c…

自动化Reddit图片收集:Python爬虫技巧

引言 Reddit,作为一个全球性的社交平台,拥有海量的用户生成内容,其中包括大量的图片资源。对于数据科学家、市场研究人员或任何需要大量图片资源的人来说,自动化地从Reddit收集图片是一个极具价值的技能。本文将详细介绍如何使用…

GCB | 全球草地和森林土壤呼吸对降水量变化的不对称响应

全球变化导致地球水文循环的强化放大了降水的年际变化,这将显著影响陆地碳(C)循环。然而,在极端降水变化情况下,先前观测到的土壤呼吸(Rs)和降水之间的关系是否仍然适用,目前仍不清楚…

thinkphp6.0版本下子查询sql处理

目录 一:背景 二:查询实例 三:总结 一:背景 我们在实际业务的开发过程中,经常会碰到这样的场景,查询某些部门的客户信息,查询下过订单的客户信息。这里查询客户信息实际上就用到了子查询&…

PS的stable diffusion插件安装指南

PS的stable diffusion插件安装指南 1.首先要安装stable diffusion,具体安装方法,参考https://blog.csdn.net/sheji888/article/details/139196688 stable diffusion要求要启用API功能 2.安装ps2023以上版本,低于这个版本不能使用stable diff…

TCP攻击是怎么实现的,如何防御?

TCP(Transmission Control Protocol)是互联网协议族中的重要组成部分,用于在不可靠的网络上提供可靠的数据传输服务。然而,TCP协议的一些特性也使其成为攻击者的目标,尤其是DDoS(Distributed Denial of Ser…

马斯克五步流程法在产品创新中的实践与应用

引言: 在科技创新的浪潮中,埃隆马斯克以其独到的思维方式和创新实践,引领着多个行业的前沿。他提出的“第一性原理”下的五步流程法,不仅是对创新过程的深刻洞见,也为产品经理和工程师们提供了一套行之有效的工作方法。…

【Redis】Redis经典问题:缓存穿透、缓存击穿、缓存雪崩

目录 缓存的处理流程缓存穿透解释产生原因解决方案1.针对不存在的数据也进行缓存2.设置合适的缓存过期时间3. 对缓存访问进行限流和降级4. 接口层增加校验5. 布隆过滤器原理优点缺点关于扩容其他使用场景SpringBoot 整合 布隆过滤器 缓存击穿产生原因解决方案1.设置热点数据永不…

强国机械制造有限公司引入先进制造技术,提升产品质量和生产效率

强国机械制造有限公司2024年6月3日宣布引入了一系列先进制造技术,包括机器学习、人工智能和物联网等,旨在提升其产品的质量和生产效率。这些前沿技术的应用,使得公司的制造过程更加智能化和数据驱动,显著提高了产品的精度和稳定性。 通过机器学习算法,强国机械能够分析和预测生…