搭建自己的私有Git仓库

本文详细介绍如何在CentOS上安装和配置轻量级的Gogs版本控制系统,包括创建git用户、下载安装包、配置数据库、设置Gogs服务管理等步骤。

一、简介

Git是一个分布式版本控制软件,不仅能在服务器上实现版本控制,也能独立使用。虽然现在Github私有库全面开放,但是有些私密的小项目放在Github的服务器上总有些不安心。
大名鼎鼎的Gitlab也能布置到自己服务器上,但是对服务器要求4G的内存着实有些太高。
gogs则轻量化的多,号称一个树莓派就能成功跑起来供一个团队使用,我们就在centos上搭建gogs环境。
来吧 ~ 开始动手吧 ~

二、安装前的准备

1.新建用户

为了方便管理使用,我们先创建gogs使用的git用户,并给相关文件夹赋予权限

sudo adduser git   #建立git用户
su git             #以git用户登录
#建立ssh目录
mkdir ~/.ssh       
chmod 700 ~/.ssh   
chmod 600 ~/.ssh/authorize_keys 

2.下载

为了方便,我们选择二进制安装方法,先去下载对应版本的二进制包。下载地址

3.其他所需环境

安装好MySQL环境

三、安装

1.解压缩

将刚才下载的压缩包,上传到服务器,并解压缩。
可以解压到任何地方,推荐/home/git/gogs

tar xvf gogs_0.11.86_linux_amd64.tar.gz

2.配置数据库

gogs中已经有了初始化数据库文件

/home/git/gogs/scripts/mysql.sql

执行下述代码,完成服务器用户gogs的创建

mysql -u root -p < scripts/mysql.sql
mysql -u root -p
	>create user 'gogs'@'localhost' identified by 'keyword';
	>grant all privileges on gogs.* to 'gogs'@'localhost';
	>flush privileges;
	>exit;

3.运行

执行./gogs web运行gogs,在浏览器中访问http://IP:3000/ 完成安装。

四、配置

配置文件位于Gogs目录的custom/conf/app.ini,详细参数参考配置手册
部分参数如下:

APP_NAME = 网站名称
RUN_USER = gogs
RUN_MODE = prod

[database]
DB_TYPE  = mysql
HOST     = 127.0.0.1:3306
NAME     = gogs
USER     = gogs
PASSWD   = 数据库密码

[server]
DOMAIN           = https://你的域名
HTTP_PORT        = 3000             #默认监听3000端口
ROOT_URL         = https://你的域名
DISABLE_SSH      = false
SSH_PORT         = 22               #默认监听3000端口
START_SSH_SERVER = false
OFFLINE_MODE     = false

五、设置开机启动

gogs自带了开机启动的脚本,在gogs/scripts下。需要把脚本复制到centos7的脚本目录中。
复制脚本
centos7使用systemd进行服务管理,需要复制到/lib/systemd/system/目录下。

cp /home/git/gogs/scripts/systemd/gogs.service /lib/systemd/system/

修改脚本
修改后的内容如下:

[Unit]
Description=Gogs
After=syslog.target
After=network.target
After=mysqld.service  #修改为gogs所需的服务,我这里只用了MySQL

[Service]
Type=simple
User=git
Group=git  #设置用户名和所属组
WorkingDirectory=/home/git/gogs  #gogs目录
ExecStart=/home/git/gogs/gogs web   #启动命令
Restart=always
Environment=USER=git HOME=/home/git #运行环境,设置启动用户和用户根目录


ProtectSystem=full
PrivateDevices=yes
PrivateTmp=yes
NoNewPrivileges=true

[Install]
WantedBy=multi-user.target

六、Gogs服务管理

自此已经完成了gogs的安装,可以使用以下命令进行管理。
开机启动Gogs服务 :systemctl enable gogs.service
启动Gogs服务 :systemctl start gogs.service
查看Gogs服务状态:systemctl status gogs.service
停止Gogs服务:systemctl stop gogs.service

### 创建和配置个人Git仓库 #### 准备工作环境 为了设置个人Git仓库,需先安装Git工具。可以通过命令`git --version`来验证是否已成功安装[^1]。 #### 初始化本地仓库 在目标文件夹内通过执行如下命令初始化一个新的Git仓库: ```bash git init ``` 这条命令会在当前目录下创建一个名为`.git`的子目录,该子目录包含了项目所有的元数据以及版本历史记录。 #### 配置全局用户名与邮箱地址 为了让每次提交都关联到正确的身份信息,在首次使用前应该设定好用户的名称和电子邮件地址: ```bash git config --global user.name "Your Name" git config --global user.email you@example.com ``` 上述操作仅需执行一次即可永久生效;如果希望针对特定项目单独指定不同的作者信息,则可以省略掉`--global`参数。 #### 添加远程仓库并推送初始分支 当准备分享自己的代码库给他人时,就需要连接至托管服务提供商上的空白远程仓库,并上传本地更改: ```bash git remote add origin https://github.com/username/repository.git git branch -M main git push -u origin main ``` 这里假设已经拥有了GitHub账号并且新建了一个私有或公开存储空间用于保存源码副本。 #### 日常维护管理 随着开发进度推进,记得定期向远端同步最新的改动情况: ```bash git pull origin main # 获取最新更新 ... # 编辑一些文件之后 git status # 查看状态变化 git diff # 对比差异细节 git add . # 跟踪新增加的内容 git commit -m "描述性的消息" # 提交修改项 git push origin main # 推送变更至上游服务器 ``` 以上就是关于怎样建立及调整私人Git资料库的相关指导说明。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值