文章目录

  • 一、环境配置
  • 二、创建GitBlit目录并下载GitBlit
  • 三、配置GitBlit
  • 四、运行&停止
  • 五、简单使用
  • 六、遇到的问题--以下是个人使用的问题记录(可略过)

一、环境配置

GitBlit需要使用Java环境运行,因此需要现在树莓派上安装java环境

sudo apt update
sudo apt install default-jdk

我直接安装的默认java jdk,默认的装的是OpenJDK 11 JDK,安装好后,运行

java --version

若能显示以下信息,表示安装成功

pi@raspberrypi:~/gitblit $ java --version
openjdk 11.0.14 2022-01-18
OpenJDK Runtime Environment (build 11.0.14+9-post-Raspbian-1deb10u1)
OpenJDK Server VM (build 11.0.14+9-post-Raspbian-1deb10u1, mixed mode)

然后再运行

javac

若能显示以下内容,表示java环境可用

pi@raspberrypi:~/gitblit $ javac
用法: javac <options> <source files>
其中, 可能的选项包括:@<filename>                  从文件读取选项和文件名-Akey[=value]                传递给注释处理程序的选项--add-modules <模块>(,<模块>)*除了初始模块之外要解析的根模块; 如果 <module>为 ALL-MODULE-PATH, 则为模块路径中的所有模块。--boot-class-path <path>, -bootclasspath <path>覆盖引导类文件的位置--class-path <path>, -classpath <path>, -cp <path>指定查找用户类文件和注释处理程序的位置-d <directory>               指定放置生成的类文件的位置-deprecation                 输出使用已过时的 API 的源位置--enable-preview             启用预览语言功能。要与 -source 或 --release 一起使用。-encoding <encoding>         指定源文件使用的字符编码-endorseddirs <dirs>         覆盖签名的标准路径的位置-extdirs <dirs>              覆盖所安装扩展的位置-g                           生成所有调试信息-g:{lines,vars,source}       只生成某些调试信息-g:none                      不生成任何调试信息-h <directory>               指定放置生成的本机标头文件的位置--help, -help, -?            输出此帮助消息--help-extra, -X             输出额外选项的帮助-implicit:{none,class}       指定是否为隐式引用文件生成类文件-J<flag>                     直接将 <标记> 传递给运行时系统--limit-modules <模块>(,<模块>)*限制可观察模块的领域--module <module-name>, -m <module-name>只编译指定的模块, 请检查时间戳--module-path <path>, -p <path>指定查找应用程序模块的位置--module-source-path <module-source-path>指定查找多个模块的输入源文件的位置--module-version <版本>        指定正在编译的模块版本-nowarn                      不生成任何警告-parameters                  生成元数据以用于方法参数的反射-proc:{none,only}            控制是否执行注释处理和/或编译。-processor <class1>[,<class2>,<class3>...]要运行的注释处理程序的名称; 绕过默认的搜索进程--processor-module-path <path>指定查找注释处理程序的模块路径--processor-path <path>, -processorpath <path>指定查找注释处理程序的位置-profile <profile>           请确保使用的 API 在指定的配置文件中可用--release <release>          针对特定 VM 版本进行编译。支持的目标: 6, 7, 8, 9, 10, 11-s <directory>               指定放置生成的源文件的位置-source <release>            提供与指定发行版的源兼容性--source-path <path>, -sourcepath <path>指定查找输入源文件的位置--system <jdk>|none          覆盖系统模块位置-target <release>            生成特定 VM 版本的类文件--upgrade-module-path <path>覆盖可升级模块位置-verbose                     输出有关编译器正在执行的操作的消息--version, -version          版本信息-Werror                      出现警告时终止编译

二、创建GitBlit目录并下载GitBlit

我将GitBlit放到了树莓派的/home/pi/gitblit目录中,即pi用户的根目录

  1. 创建GitBlit目录并进入目录
mkdir /home/pi/gitblit
cd /home/pi/gitblit
  1. 下载gitblit
sudo wget https://github.com/gitblit/gitblit/releases/download/v1.9.2/gitblit-1.9.2.tar.gz
sudo tar -zxvf gitblit-1.9.2.tar.gz

三、配置GitBlit

gitblit解压后,对GitBlit进行配置,修改gitblit-1.9.2/data/gitblit.properties文件

sudo nano /home/pi/gitblit/gitblit-1.9.2/data/gitblit.properties

修改http端口、设置版本库路径、

server.httpPort = 16001
git.repositoriesFolder = ${baseFolder}/git-data

四、运行&停止

运行GitBlit可以直接运行gitblit-1.9.2目录下的gitblit.sh文件

sudo ./gitblit.sh

但是此方法运行关闭会话框后,就会自动结束,因此,修改下gitblit.sh,使其能后台启动,打开文件,修改为以下内容

nohup java -cp "gitblit.jar:ext/*" com.gitblit.GitBlitServer --baseFolder data &

停止GitBlit很简单,运行gitblit-stop.sh文件即可

sudo ./gitblit-stop.sh

五、简单使用

运行成功后,在网页输入IP:16001访问GitBlit页面,用户名/密码使用默认的admin/admin登录,然后可以自己修改密码或创建用户。我是新创建了个用户,用来添加管理版本库,保留了admin的原有权限。
首次登录是没有版本库的,因此点击创建版本库创建一个空的版本库,然后就可以看到一个URL链接,用此链接和本地关联改版本库即可(若看到的只是r权限,请修改该版本库的权限,赋予读写所有权限),相关操作如下,我这里关闭了https和ssh,因此只是用http

# 配置邮箱
git config --global user.email ""# 配置名称
git config --global user.name ""# 创建
git init# 添加远程存储库
git remote add origin http://jayhgq@192.168.31.33:5903/r/XMLYDownloader.git# 抓取
git fetch http://jayhgq@192.168.31.33:5903/r/XMLYDownloader.git
git fetch origin# 暂存文件
git add README.md# 提交
git commit -m "提交README.md"# 推送
git push origin master

更多Git的使用可参考git官网说明https://git-scm.com/book/zh/v2

六、遇到的问题–以下是个人使用的问题记录(可略过)

  1. 使用VSCode添加远程库后,不让输入密码,直接提示登录失败拒绝访问
    使用下面命令查看credential.helper所在的文件目录,删除credential字段
git config --show-origin --get credential.helper

然后在使用下面命令将credential.helper设置为store

git config credential.helper store

除了store这个选项还可以是设置cache、osxkeychain、manager,区别如下
可选凭证存储模式

  • “cache” 模式
    会将凭证存放在内存中一段时间。 密码永远不会被存储在磁盘中,并且在15分钟后从内存中清除。
  • “store” 模式
    会将凭证用明文的形式存放在磁盘中,并且永不过期。 这意味着除非你修改了你在 Git 服务器上的密码,否则你永远不需要再次输入你的凭证信息。 这种方式的缺点是你的密码是用明文的方式存放在你的 home 目录下。
  • “osxkeychain” 模式
    如果你使用的是 Mac,Git 还有一种 “osxkeychain” 模式,它会将凭证缓存到你系统用户的钥匙串中。 这种方式将凭证存放在磁盘中,并且永不过期,但是是被加密的,这种加密方式与存放 HTTPS 凭证以及 Safari 的自动填写是相同的。
  • “manager” 模式
    如果你使用的是 Windows,你可以安装一个叫做 “Git Credential Manager for Windows” 的辅助工具。 这和上面说的 “osxkeychain” 十分类似,但是是使用 Windows Credential Store 来控制敏感信息。

推荐使用凭证存储模式 “manager”,在这里对比 “wincred” 和 "manager"的区别
相同点:都会将用户信息存储到Windows凭据管理器中
不同点:Windows凭据管理器中用户信息是否加密

“wincred” 模式下的用户信息展示如下

Internet 地址或网络地址:git:https://用户名@github.com;
用户名:真实用户名

“manager” 模式下的用户信息展示如下

Internet 地址或网络地址:git:https://github.com;
用户名:PersonalAccessToken

很明显,在用户信息暴露的情况下,其他人很容易通过 https://用户名@http://github.com 访问到路径对应的项目,为了避免这种风险的存在,我们可以安装 “Git Credential Manager for Windows” 的辅助工具。

树莓派搭建gitblit代码管理服务器相关推荐

  1. 树莓派搭建自动追番服务器详细教程|树莓派|Jellyfin|AutoBangumi|qBittorrent

    树莓派搭建自动追番服务器教程|树莓派|Jellyfin|AutoBangumi|qBittorrent 流程简介 准备工作 硬盘挂载 Jellyfin搭建 AutoBangumi部署 流程简介 本文主 ...

  2. 用树莓派搭建全功能NAS服务器(01):树莓派基础操作OMV搭建

    写在前面 对于文件互传来说,局域网和云盘的操作总是独立的,而且很难将两者的优势合为一体.如果想要集多种优势为一体,那么NAS应该就是较为完美的解决方案了. 在这个系列中我们尽量跳过一些枯燥的理论知识, ...

  3. 本地搭建的Gitblit代码托管服务器无法pull和push的问题

    本地windows服务器搭建的Gitblit 不管是使用git bash还是使用TortoiseGit客户端都无法克隆和push.. 提示信息Connection Refused, Git 未能顺利结 ...

  4. 树莓派搭建微信小程序服务器传音频(局域网)

    微信小程序代码: 微信小程序采用微信开发者工具进行开发,采用wx.uploadfile传音频,后端用python.flask写的,很简单,就是request接收一下file,然后用树莓派自带的音频播放 ...

  5. 树莓派制作家用服务器,树莓派搭建家用小型NAS服务器

    你是否还在为从网盘下载文件被限速而捶胸顿足无可奈何呢. 假如你的手头正有一块rapberry和闲置的移动硬盘,那么恭喜你,你可以很方便的搭建一个专属于自己的文件共享服务器NAS,适时备份重要数据,一起 ...

  6. 搭建GitLab代码管理仓库

    我只要有代码的项目,都会放到 Github 上,无论公开还是私有项目.一是相当于在云端备份了一份代码,二是可以很方便的分享给别人.但对于私有项目而言存放在别人那总归不好,而且Github 时常会出现无 ...

  7. 用树莓派搭建全功能NAS服务器(03):了解你的网络内网穿透

    写在前面 上次搭建完下载机之后,就开始了睡觉时间愉快的下载时光.只要种子不是非常冷门,下载速度什么的也都是很可观的.一觉起来昨天添加的一大堆都下载好了. 但是现在我们的NAS还只能是局域网访问和操作, ...

  8. 用树莓派搭建全功能NAS服务器(04):打造个人网盘系统优化

    写在前面 在了解完内外网之后,我们就可以着手搭建各个类型的应用来丰富我们的NAS. 首先是用处比较大的网盘系统(尤其是感受过某某网盘的折磨). 自己的网盘系统不需要担心空间问题和局域网传输速度问题(内 ...

  9. 用树莓派搭建全功能NAS服务器(05):玩转影音看片整理大法

    写在前面 搭建影音环境应该是大家最想完成的一个环节,也是NAS最为实用的功能之一.毕竟面对辛辛苦苦下载下来的资源,还是有个看上去极其舒适的像样的家才算完美. 使用下载器下载的文件夹的名字一般都是毫无章 ...

最新文章

  1. 大数据与数据挖掘考试题_北京2020届中考物理出题策略大揭秘!
  2. Ubuntu操作系统安装之开发人员必备
  3. 数据库获取的字符串按照逗号分隔,放进数组集合中
  4. 【cocos2d-x】瓷砖地图(TileMap)基础知识
  5. CM3计算板读取SHT30以及I2C驱动
  6. mysql的每隔1分钟定时_简单易用,spring boot集成quartz,实现分布式定时任务
  7. java 超时异常_Java如何实现任务超时处理
  8. 连接Android与ASP.NET Core Web API的完整教程
  9. Anroid开发中常用快捷键
  10. GooFlow获取节点/线信息和自定义节点属性
  11. 易语言游戏辅助开发(第一课)
  12. jquery 立体走马灯_jquery实现跑马灯效果(一)
  13. JVM - 垃圾回收(垃圾标记阶段算法,内存泄漏与溢出)(2)
  14. 【弄nèng - Zookeeper】Zookeeper入门教程(三)—— 客户端Curator的基本API使用(Curator framework)
  15. zxing扫描条形码 ios
  16. ap计算机科学原则,无线AP选型设计原则详解
  17. 联系导师邮件 | 清华人大浙大上财 均被回复
  18. 三星 SCX-4216 中英对照表及三星传真机的清零方法
  19. gp数据库创建数据库_创建数据库简介
  20. AnyProxy安装使用【Windows】

热门文章

  1. Selenium+java+firefox实现百度搜索。
  2. 目标检测3维/点云/遥感数据集
  3. 国密SM9算法C++实现之五:签名验签算法
  4. tomcat启动spring项目,报具有该名称的xxxbean已经在xxx定义,覆盖被禁止
  5. Linux开发工具实现C/C++编程
  6. 几种炫酷的canvas动态背景特效
  7. 海尔共享空调入驻200余所高校共建智慧校园
  8. Html网页按住Ctrl+滚轮缩放后,盒子大小改变的罪魁祸首竟是border?(已解决)
  9. python --cpca(从文本中提取省市区)
  10. 计算机视觉的上游任务和下游任务