使用Gitea搭建git本地服务器

前言

作为一个程序员,我认为代码管理是很重要的,在项目开发过程中,随着代码的不断更新迭代,可能已经不知道一开始的代码是什么样子了,又或者时间久了不知道自己改了什么,而git就是一个很好的代码管理工具,可以很好的记录代码的每次更改,以及追溯和回退版本。一般公司都会有git或者svn管理工具,大部分人可能都只知道在现有的环境使用git工具,今天本文就教你怎么搭建git服务器。

创建git用户

创建一个新的git用户

复制代码
sudo adduser git

接着按照提示随便输就好了

安装gitea

在安装gitea之前我们先安装必要的软件包

复制代码
sudo apt-get update
sudo apt-get install git sqlite3

接着下载gitea,并移动到/usr/local/bin/目录下

复制代码
wget -O gitea https://dl.gitea.io/gitea/1.16.7/gitea-1.16.7-linux-amd64
chmod +x gitea
sudo mv gitea /usr/local/bin/

然后创建git用户和目录

复制代码
sudo mkdir -p /var/lib/gitea/{custom,data,indexers,public,log}
sudo chown git: /var/lib/gitea/{data,indexers,log}
sudo chmod 750 /var/lib/gitea/{data,indexers,log}
sudo mkdir /etc/gitea
sudo chown root:git /etc/gitea/
sudo chmod 770 /etc/gitea/

配置gitea,创建一个systemd服务文件

复制代码
sudo gedit /etc/systemd/system/gitea.service

添加以下内容

复制代码
[Unit]
Description=Gitea
After=syslog.target
After=network.target

[Service]
RestartSec=2s
Type=simple
User=git
Group=git
WorkingDirectory=/var/lib/gitea/
ExecStart=/usr/local/bin/gitea web --config /etc/gitea/app.ini
Restart=always
Environment=USER=git HOME=/home/git GITEA_WORK_DIR=/var/lib/gitea

[Install]
WantedBy=multi-user.target

最后启动gitea

复制代码
sudo systemctl daemon-reload
sudo systemctl enable gitea
sudo systemctl start gitea

gitea使用

gitea启动后,就可以在网页登陆了,注意虚拟机的网络连接最好时桥接模式,确保电脑主机和git服务器在同一个网段

gitea默认端口是3000,在windows浏览器输入ip+端口,就可以进入gitea配置界面

如果没加载出来就重启服务,并且更改一下防火墙端口规则

复制代码
systemctl stop gitea
systemctl start gitea
sudo ufw allow 3000/tcp

选择sqlite3,会自动填充配置

直接划到最下面立马安装即可,这是安装后的界面

点右上角的注册,注册一个用户

接下来就是和我们平时用的git工具一样的操作了,添加电脑主机的ssh密钥,就可以建git仓了

参考文章:【Tools】Ubuntu20.04安装VMware Tools详解_ubuntu 20.04 安装vmware tools-CSDN博客

一招教你搭建git服务器_git 服务器如何搭建-CSDN博客

相关推荐
字节逆旅3 小时前
ubuntu应用深度守护
ubuntu
Selicens11 小时前
git批量删除本地多余分支
前端·git·后端
闲云一鹤1 天前
Git LFS 扫盲教程 - 你不会还在用 Git 管理大文件吧?
前端·git·前端工程化
vibecoding日记4 天前
为什么我就想要「线性历史 + Signed Commits」,GitHub 却把我当猴耍 🤬🎙️
git·编程工具
程序员小崔日记5 天前
如何将代码轻松上传到 Gitee?Git 使用全攻略!
git·gitee·上传
Bigger6 天前
为什么你的 Git 提交需要签名?—— Git Commit Signing 完全指南
git·开源·github
DianSan_ERP6 天前
电商API接口全链路监控:构建坚不可摧的线上运维防线
大数据·运维·网络·人工智能·git·servlet
欧云服务器6 天前
怎么让脚本命令可以同时在centos、debian、ubuntu执行?
ubuntu·centos·debian
智渊AI6 天前
Ubuntu 20.04/22.04 下通过 NVM 安装 Node.js 22(LTS 稳定版)
ubuntu·node.js·vim