Linux构建Git服务器教学_Linux搭建私有Git仓库方法

Linux私有Git服务器核心是SSH+裸仓库:创建git用户、配置SSH密钥认证、初始化bare repo,客户端通过git clone git@server:/path克隆协作。

Linux构建Git服务器教学_Linux搭建私有Git仓库方法

在Linux上搭建私有Git服务器,核心是用git命令行工具配合SSH协议实现安全、轻量的仓库托管,无需复杂Web界面也能高效协作。重点不是装一堆服务,而是理清权限、裸仓库和用户访问这三件事。

准备系统环境与Git基础

确保Linux服务器(如Ubuntu/CentOS)已安装Git并能正常运行:

  • 执行git --version确认Git已安装(推荐2.0+)
  • 若未安装,Ubuntu用sudo apt install git,CentOS用sudo yum install gitdnf install git
  • 创建专用git用户(非root),提升安全性:sudo adduser git,并禁用其密码登录(后续只走SSH密钥)

配置SSH密钥认证(关键一步)

所有开发者必须用SSH密钥连接,避免明文密码泄露:

  • 本地生成密钥对:ssh-keygen -t ed25519 -C "your_email@example.com"
  • 将公钥(~/.ssh/id_ed25519.pub)内容追加到服务器/home/git/.ssh/authorized_keys
  • 设置目录权限:chmod 700 /home/git/.ssh && chmod 600 /home/git/.ssh/authorized_keys
  • 测试连接:ssh git@your-server-ip,成功即表示SSH通道就绪

初始化裸仓库(bare repo)

Git服务器不存工作区文件,只存版本元数据——这就是“裸仓库”:

  • 以git用户登录:sudo -u git -i
  • /home/git下新建项目目录,例如mkdir -p repos/myapp.git
  • 进入该目录:cd repos/myapp.git,然后运行git init --bare
  • 完成后,该目录就是可被克隆的远程地址:git@your-server-ip:/home/git/repos/myapp.git

客户端克隆与日常使用

团队成员只需一条命令就能开始协作:

  • 首次克隆:git clone git@your-server-ip:/home/git/repos/myapp.git
  • 提交后推送:git add . && git commit -m "init" && git push origin main
  • 其他人拉取更新:git pull origin main
  • 注意:首次推送前需确保远程分支存在,可用git push -u origin main设上游分支

基本上就这些。不需要Apache、Nginx或GitLab这类重型方案,纯SSH + bare repo 就能支撑中小团队私有代码管理。关键是把权限管住、密钥配对、仓库建对——不复杂但容易忽略。