Git教程-搭建服务器上GitBlit代码仓库(超详细)

news2024/9/24 1:22:02

在日常编码时,我常常会有将代码保存到云端的需求,因此我选择将 Git 安装在我的 云服务器上,通过在服务器上搭建 GitBlit 服务,配合本地使用 TortoiseGit 上传代码,实现跨设备的云端代码版本管理。本篇文章将介绍如何在云服务器上搭建 Git 代码库,实现跨设备的代码版本控制。

目录

一、服务器上安装JDK

二、服务器上安装GitBlit

1、下载解压GitBlit

2、创建仓库文件夹

3、编辑配置文件

4、编辑批处理文件

5、测试是否安装成功

6、启动GitBlit服务

7、访问网站

三、服务器上创建GitBlit仓库

四、本地TortoiseGit提交代码

1、下载安装TortoiseGit

2、克隆GitBlit仓库到本地

3、提交本地代码到GitBlit仓库

五、常见的代码版本管理工具


一、服务器上安装JDK

首先,在服务器上安装 Java Development Kit(JDK)。

可以参考我之前写的文章:怎样在Windows系统下载安装JDK


二、服务器上安装GitBlit

1、下载解压GitBlit

浏览器访问下载地址:Gitblit,选择 Windows 版本下载。
下载完成后解压压缩包,存储在C盘,我这边的存储路径是 C://Git1.9.3。


2、创建仓库文件夹

创建一个文件夹用于存储仓库,例如:C://Git_Repository。为这个文件夹赋予读写全权限。


3、编辑配置文件

编辑解压后文件夹内的 data 文件夹下的 defaults.properties 文件,修改以下四个地方:

Ⅰ. 设置Git仓库文件夹的存储路径。

git.repositoriesFolder = C:\Git_Repertory


 Ⅱ. 设置服务端口(Port),后面便我们通过 IP:Port 的形式可以去访问。

server.httpPort = 50


Ⅲ. 设置内网IP

注意是内网IP,不是公网IP!!!

不知道内网 IP 的可以到 cmd 命令窗口里输入查看 IPv4 Address。

在 cmd 命令窗口输入 ipconfig /all 查看 IPv4 Address,将内网IP填入以下位置。

 这里内网 IP 是 10.0.07。

server.httpBindInterface = 10.0.0.7

Ⅳ. 设置https的绑定接口,填写localhost(或127.0.0.1)默认本地即可。

server.httpsBindInterface = localhost


4、编辑批处理文件

编辑 installService.cmd 批处理文件

Ⅰ. 修改 ARCH

SET ARCH=amd64 //64位系统
/*SET ARCH=X86 //若为32位系统*/

Ⅱ. 添加 CD

SET CD=C:\Git1.9.3 //这里CD的值是我们GitBlit的文件夹路径

Ⅲ. 修改 StartParams 启动参数

--StartParams="" ^ //参数设置为空


5、测试是否安装成功

运行 gitblit.cmd 批处理文件,测试是否可以正常启动。

如果闪退就是报错了,异常信息可以在 logs 文件夹里看到。


6、启动GitBlit服务

运行 GitBlit 服务。


7、访问网站

访问我们的 GitBlit 的端口可以看到可视化界面。验证 GitBlit 服务是否正常运行。


、服务器上创建GitBlit仓库

点击新建仓库,选择仓库所属用户,输入仓库名称、描述,选择仓库权限和是否允许 forks。

后面我们提交的代码就会上传到这里来。


四、本地TortoiseGit提交代码

1、下载安装TortoiseGit

下载地址:https://github.com/TortoiseGit/TortoiseGit

安装过程中有几个点注意一下:

Ⅰ. 配置 git.exe 时指定路径的前提是开发设备上安装了 Git,没有的话需要去下载安装 Git,Git.exe 的路径是 Git 的 bin 文件夹路径。

Ⅱ. 语言选择默认是只有英语,如果有需要其他语言,需要去下载安装语言包 (和下载TortoiseGit在同一个网页里)。

安装语言包后我们就可以选到其他语言了。

Ⅲ. 安装最后一步是生成 SSH key,生成之后,可以把它粘到 Gitblit 网站的 SSH 位置,后面上传就不需要输账户密码了。

生成需要的时间还挺长的,Key passphrase 是密码的意思,自己设置。
生成好之后,保存密钥 (Save public/private key),后面拉仓库的时候会用到。

接着,生成的 Key 复制到我们搭建的 GitBlit 网站上。

这样两边都有 Key 就可以一劳永逸的跳过每次 push 代码都要的密码验证了。


2、克隆GitBlit仓库到本地

Ⅰ. 本地新建一个文件夹,作为后续持续发布到 GitBlit 上的仓库文件夹;

Ⅱ. 新建好之后,我们在文件夹内部右键选择【Git克隆】;

Ⅲ. 克隆的弹窗里会要我们输入仓库地址,地址在我们搭建的 GitBlit 的网站里可以找到。

访问我们刚刚搭建的 GitBlit 服务网站,复制 repository url 。

Ⅳ. 拉完之后我们可以看到服务器上 GitBlit 仓库的文件被下载了下来,包括:
README.md 文件(文本文件,可以写备注和项目介绍在上面)
.git 的隐藏文件(Git 的项目文件,后面要删除本地仓库只需要删除这个文件);
gitignore 文件(配置文件,里面记录的是需要在提交代码时被忽略的成分,比如 Release/Debug 产生的文件等);


3、提交本地代码到GitBlit仓库

点击 Git 提交 (commit),我这里是新文件所以直接提交到主线。

提交成功后,可以在服务器的 GitBlit 仓库文件夹和 GitBlit 网站上浏览上传的项目文件。

通过这些步骤,我们成功在建立了 GitBlit 云端代码库,实现了跨设备的云端代码版本管理。


五、常见的代码版本管理工具

除了 GitBlit,还有很多常见的代码版本管理工具。以下是一些工具的列举:

工具名称工具特色
GitBlit轻量级的Git服务,适用于小型团队和个人使用。注重简单性和易用性。
GitLab提供完整的CI/CD功能,支持DevOps实践。自托管版本提供更多自定义选项。
GitHub社交编程平台,拥有庞大的开发者社区。对开源项目友好,提供丰富的社交和协作功能。
Mercurial简单易用,适用于小型到中型项目。注重性能和易用性。
Bitbucket提供源代码托管、协作和CI/CD功能。适用于中小型企业和开发团队。
SubversionSVN,企业里常见,集中式版本控制系统,适用于大型项目。强调对二进制文件的支持。
Perforce高度可扩展,适用于大规模项目和需要处理大量二进制文件的场景。
Fossil集成版本控制、问题跟踪和wiki功能。适用于小型项目和个人开发者。

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

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

相关文章

Camera 基础知识

一、Camera 基础知识 1.1 Camera 工作原理 外部光线穿过镜头Lens 后, 经过 Color Filter 滤波后照射到CMOS Sensor 上, CMOS Sensor 将从 Lens 上传导过来的光线转换为电信号,再通过内部的AD模数转换,转换为数字信号。如果 Sens…

unity项目《样板间展示》开发:火焰和UI设计

第二章:火焰和UI设计 前言一、火焰模型管理灶台火焰壁炉火焰 二、电视机播放三、UI设计结语 前言 这次带大家从0到1做一个unity项目:《样板间展示》。 顾名思义,项目内容是展示样板间,即玩家可以与房间中的物体、家具进行交互。 至…

【网络安全 -> 防御与保护】信息安全概述

目录 一、信息安全现状及挑战 二、信息安全脆弱性及常见安全攻击 1、网络环境的开放性 2、协议栈的脆弱性及常见攻击 3、操作系统的脆弱性及常见攻击 4、终端的脆弱性及常见攻击 5、其他常见攻击 三、信息安全要素 四、整体安全解决方案 一、信息安全现状及挑战 &…

51单片机LED点阵屏

LED点阵屏 LED点阵屏是一种由许多小型LED灯组成的矩阵式显示屏。这些LED灯可以是单色、双色或全彩的,它们排列成行和列的网格,可以根据需要点亮来显示图像、文字或动画等内容。LED点阵屏广泛应用于户外广告牌、室内显示、交通信号灯、电子价格标签和其他…

gradle打包分离依赖jar

正常打包的jar是包含项目所依赖的jar包资源,而且大多数场景下的依赖资源是不会频繁的变更的,所以实际把项目自身jar和其所依赖的资源分离可以实现jar包瘦身,减小上传的jar包总大小,能实现加速部署的效果 一 原本结构 二 配置buil…

CSS 蜡烛效果

<template><view class="holder"><!-- 身子 --><view class="candle"><!-- 光源 --><view class="blinking-glow"></view><!-- 火星子 --><view class="thread"></view>…

【Python时序预测系列】基于Holt-Winters方法实现单变量时间序列预测(源码)

一、引言 Holt-Winters是一种经典的时序序列预测方法&#xff0c;用于对具有季节性和趋势性的数据进行预测。在这种方法中&#xff0c;使用三个组件来建模时序数据&#xff1a;趋势&#xff08;Trend&#xff09;、季节性&#xff08;Seasonality&#xff09;和残差&#xff0…

项目实战——Qt实现FFmpeg音视频转码器

文章目录 前言一、移植 FFmpeg 相关文件二、绘制 ui 界面三、实现简单的转码四、功能优化1、控件布局及美化2、缩放界面3、实现拖拽4、解析文件5、开启独立线程6、开启定时器7、最终运行效果 五、附录六、资源自取 前言 本文记录使用 Qt 实现 FFmepg 音视频转码器项目的开发过…

k8s的helm

1、在没有helm之前&#xff0c;部署deployment、service、ingress等等 2、helm的作用&#xff1a;通过打包的方式&#xff0c;deployment、service、ingress这些打包在一块&#xff0c;一键部署服务、类似于yum功能 3、helm&#xff1a;官方提供的一种类似于仓库的功能&#…

空气净化器or宠物空气净化器?五款猫用空气净化器优质推荐!

作为一个养猫家庭的主人&#xff0c;每天都要面对清理猫砂盘的挑战&#xff0c;这种令人难以形容的气味实在让人难以忍受。尤其是家里有小孩和老人&#xff0c;他们可能会出现过敏性鼻炎等问题&#xff0c;而抵抗力较差的人更容易受到影响。此外&#xff0c;换毛季节到来时&…

Android状态栏布局隐藏的方法

1.问题如下&#xff0c;安卓布局很不协调 2.先将ActionBar设置为NoActionBar 先打开styles.xml 3.使用工具类 package com.afison.newfault.utils;import android.annotation.TargetApi; import android.app.Activity; import android.content.Context; import android.graph…

【算法】最优贸易(反向建图)

题目 C 国有 n 个大城市和 m 条道路&#xff0c;每条道路连接这 n 个城市中的某两个城市。 任意两个城市之间最多只有一条道路直接相连。 这 m 条道路中有一部分为单向通行的道路&#xff0c;一部分为双向通行的道路&#xff0c;双向通行的道路在统计条数时也计为 1 条。 C…

高防IP如何保护服务器

首先我们要知道什么是高防IP~ 高防IP是指高防机房所提供的ip段&#xff0c;主要是针对互联网服务器遭受大流量DDoS攻击时进行的保护服务。高防IP是目前最常用的一种防御DDoS攻击的手段&#xff0c;用户可以通过配置DDoS高防IP&#xff0c;将攻击流量引流到高防IP&#xff0c;防…

chrome提升搜索效率的快捷方法

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

缓解Spring Core的“Spring4Shell”零日漏洞

一、概述 2022年3月30日&#xff0c;安全社区广泛注意到Spring&#xff08;一种流行的开源Java框架&#xff09;爆出的一个漏洞。Akamai自适应安全引擎第一时间检测到基于该漏洞发起的零日攻击&#xff0c;为Akamai客户提供了保护。 该漏洞的披露时间线以及其他通过非正式方式…

仓储管理系统——软件工程报告(可行性研究报告及分析)①

可行性研究报告及分析 一、问题定义 1.1项目背景 随着社会的发展以及企业规模的扩大和业务的复杂化&#xff0c;仓库管理变得愈发重要。传统的手工管理方式已经导致了一系列问题&#xff0c;包括库存准确性低、订单处理效率慢等。为了提高仓库运作效率、降低成本并优化库存管…

深入MySQL窗口函数:原理和应用

在现代数据库管理系统中&#xff0c;窗口函数&#xff08;Window Functions&#xff09;已经成为处理复杂数据分析任务的关键工具。MySQL从8.0版本开始引入了对窗口函数的支持&#xff0c;这极大地增强了其在数据分析和报表生成方面的能力。本文将深入探讨MySQL窗口函数的原理、…

架构篇09:架构设计原则案例

文章目录 淘宝案例手机QQ案例小结 我们先复习一下架构设计的三条核心原则&#xff1a;合适原则、简单原则和演化原则。 我们在架构设计实践中&#xff0c;应该时刻谨记这三条设计原则&#xff0c;指导我们设计出合适的架构&#xff0c;即使是代表中国互联网技术最顶尖水平的 BA…

深度学习(5)---自注意力机制

文章目录 1. 输入与输出2. Self-attention2.1 介绍2.2 运作过程2.3 矩阵相乘理解运作过程 3. 位置编码4. Truncated Self-attention4.1 概述4.2 和CNN对比4.3 和RNN对比 1. 输入与输出 1. 一般情况下在简单模型中我们输入一个向量&#xff0c;输出结果可能是一个数值或者一个类…