CentOS Git服务器搭建与多仓库管理实战
环境准备与Git安装
使用root权限更新系统:yum update -y
安装Git核心组件:yum install git -y
创建专用Git账户:useradd -m -s /bin/bash git
配置SSH安全访问
切换至Git用户:su - git
创建SSH目录:mkdir -p ~/.ssh && chmod 700 ~/.ssh
添加开发者公钥:echo "ssh-rsa [公钥内容]" >> ~/.ssh/authorized_keys
初始化多仓库结构
创建仓库根目录:mkdir /home/git/repos && cd $_
批量创建项目仓库:
git init --bare project1.git
git init --bare project2.git
git init --bare api-service.git
设置目录所有权:chown -R git:git /home/git/repos
高级权限控制(Gitolite方案)
安装依赖:yum install perl openssh-server -y
克隆Gitolite:git clone https://github.com/sitaramc/gitolite
初始化配置:./gitolite/install -ln ~/bin
设置管理员密钥:gitolite setup -pk admin.pub
自动化仓库创建脚本
#!/bin/bash
# auto_create_repo.sh
REPO_NAME=$1
sudo -u git mkdir /home/git/repos/${REPO_NAME}.git
sudo -u git git init --bare /home/git/repos/${REPO_NAME}.git
脚本使用示例:./auto_create_repo.sh new-project
客户端连接验证
本地克隆仓库:git clone git@[服务器IP]:repos/project1.git
推送测试提交:git push origin main
维护与优化建议
- 定期执行仓库压缩:
git gc --aggressive
- 启用Git钩子脚本实现自动部署
- 配置防火墙规则:
firewall-cmd --add-service=ssh --permanent
- 监控磁盘使用:
du -sh /home/git/repos/*
完成配置后,您的CentOS服务器可为团队提供安全的私有Git服务,支持灵活的多项目管理。HTTPS协议访问可通过Nginx反向代理实现。