上一篇
如何快速搭建并配置高效Git服务器?
- 行业动态
- 2025-04-17
- 7
在Linux服务器安装Git,创建git用户并配置SSH密钥,新建裸仓库(git init –bare),设置仓库权限,本地通过SSH克隆仓库(git clone git@服务器IP:仓库路径),即可实现代码推送与拉取,需注意防火墙及目录权限配置。
准备工作
选择服务器环境
- 推荐使用 Linux 系统(如 Ubuntu/CentOS),因其对 Git 支持更友好。
- 确保服务器已安装 SSH 服务并开放端口(默认22)。
安装 Git
# Ubuntu/Debian sudo apt-get update && sudo apt-get install git # CentOS/RHEL sudo yum install git
搭建 Git 服务器
步骤 1:创建 Git 专用用户
为避免权限混乱,建议创建一个专用于 Git 操作的系统用户:
sudo adduser git sudo passwd git # 设置密码(可选,推荐使用 SSH 密钥替代)
步骤 2:初始化仓库
以 git
用户身份创建裸仓库(无工作目录的仓库):
sudo su git cd /home/git mkdir project.git && cd project.git git init --bare
步骤 3:配置 SSH 密钥访问
客户端生成密钥(本地电脑执行):
ssh-keygen -t ed25519 # 生成密钥对,保存在 ~/.ssh/ 目录
服务器端配置公钥(服务器执行):
# 切换到 git 用户 sudo su git mkdir -p ~/.ssh touch ~/.ssh/authorized_keys # 将客户端公钥(id_ed25519.pub)内容粘贴到 authorized_keys chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys
配置权限与安全
禁用 Shell 登录(增强安全)
修改/etc/passwd
,将 git 用户的登录 Shell 替换为git-shell
:git:x:1001:1001::/home/git:/usr/bin/git-shell
仓库权限管理
- 通过
chmod
和chown
控制仓库目录权限:sudo chown -R git:git /home/git/project.git sudo chmod -R 750 /home/git/project.git
- 通过
使用 Git 服务器
推送本地仓库到服务器
git remote add origin git@your-server-ip:/home/git/project.git git push -u origin master
克隆远程仓库
git clone git@your-server-ip:/home/git/project.git
维护与进阶配置
自动化备份
使用cron
定时任务备份仓库至其他存储:0 3 * * * tar -czvf /backup/project.git-$(date +%F).tar.gz /home/git/project.git
启用 HTTPS 访问(可选)
通过 Nginx 反向代理并配置 SSL 证书(推荐 Let’s Encrypt)。
仓库管理工具
如需图形化管理,可部署 Gitea 或 GitLab,但需更多资源。
常见问题
- 权限错误:确保
git
用户对仓库目录有读写权限。 - SSH 连接失败:检查防火墙设置及
authorized_keys
文件格式。
通过上述步骤,可快速搭建私有 Git 服务器,支持团队协作与代码管理,重点在于 SSH 密钥配置和权限控制,确保安全性与易用性。
引用说明
- Git 官方文档:https://git-scm.com/book/
- SSH 密钥生成指南:https://www.ssh.com/academy/ssh/keygen
- Linux 权限管理:https://linuxhandbook.com/linux-chmod-command/