可通过git init --bare创建裸仓库,配合ssh实现远程读写,或用lighttpd+git-http-backend提供http只读访问。

如果您希望在Linux开发环境中快速部署一个私有Git代码仓库,无需复杂配置与外部服务依赖,则可通过轻量级方式实现本地裸仓库初始化与基础访问支持。以下是实现此目标的步骤:
一、使用git init --bare快速创建裸仓库
裸仓库(bare repository)不包含工作目录,仅保存Git对象与引用,适合作为中央仓库供多人推送和拉取。该方法无需额外服务进程,适合单机开发或局域网内直接SSH访问。
1、打开终端,切换至计划存放仓库的目录,例如/opt/git:
2、执行命令创建裸仓库:git init --bare myproject.git
3、确认仓库已生成:ls -l myproject.git/,应可见branches/、objects/、refs/等Git内部目录
4、设置目录权限,确保开发用户可读写:chmod -R 755 myproject.git
二、通过SSH协议启用远程访问
利用系统已有的SSH服务,可让其他开发机通过git@host:/path/to/myproject.git格式进行克隆与推送,无需额外安装Git服务器软件。
1、确保目标Linux主机已安装并运行SSH服务:systemctl is-active sshd
2、将开发人员的公钥(如id_rsa.pub)添加至服务器对应用户的~/.ssh/authorized_keys文件中
3、在客户端执行克隆命令:git clone git@your-server-ip:/opt/git/myproject.git
4、首次推送需指定上游分支:git push --set-upstream origin main
三、使用lighttpd提供只读HTTP访问(可选)
若需浏览器查看仓库内容或支持HTTP克隆(如CI工具调用),可借助轻量Web服务器挂载裸仓库的git-http-backend网关,无需Apache或Nginx复杂配置。
1、安装lighttpd及Git CGI支持:apt install lighttpd git-core(Debian/Ubuntu)或yum install lighttpd git(CentOS/RHEL)
2、启用CGI模块:lighttpd-enable-mod cgi
3、创建CGI脚本/usr/lib/cgi-bin/git-http-backend,内容为:#!/usr/bin/env bash\nexec /usr/lib/git-core/git-http-backend
4、修改lighttpd配置/etc/lighttpd/conf-enabled/10-cgi.conf,添加仓库路径映射:alias.url += ( "/git/" => "/usr/lib/cgi-bin/git-http-backend" )
5、重启服务:systemctl restart lighttpd










