使用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博客

相关推荐
Kkooe1 小时前
GitLab|数据迁移
运维·服务器·git
Beekeeper&&P...2 小时前
git bash是什么,git是什么,git中的暂存区是什么,git中的本地仓库是什么,git中工作目录指的是什么
开发语言·git·bash
写点什么啦6 小时前
[debug]不同的window连接ubuntu的vscode后无法正常加载kernel
linux·vscode·ubuntu·debug
wellnw7 小时前
[ubuntu]编译共享内存读取出现read.c:(.text+0x1a): undefined reference to `shm_open‘问题解决方案
linux·ubuntu
Stara05117 小时前
Git推送+拉去+uwsgi+Nginx服务器部署项目
git·python·mysql·nginx·gitee·github·uwsgi
lsswear7 小时前
GIT 操作
git
勋勋勋勋小勋勋7 小时前
git分支合并某一次提交
git
PandaCave8 小时前
git常用命令以及注意事项总结
git
oushaojun211 小时前
ubuntu中使用ffmpeg和nginx推流rtmp视频
nginx·ubuntu·ffmpeg·rtmp