如何自己建立一个 git server
很好!你可以很方便地在 Ubuntu 服务器上搭建自己的 Git 仓库服务器,供自己上传项目,并通过局域网或公网(如 IP + 端口)让别人访问查看代码。
下面我为你详细列出完整流程,不依赖 GitHub/GitLab,就是自己搭建纯 Git 服务。
✅ 一、准备工作
服务器要求:
- 系统:Ubuntu(任意版本都可以)
- 安装 Git:
sudo apt update
sudo apt install git
建议创建一个用于 Git 的用户(可选)
sudo adduser git
✅ 二、在服务器上创建裸仓库(bare repo)
裸仓库(bare repository) 是服务器上专用来存储 Git 数据的仓库,不能直接编辑文件。
1. 登录服务器(可直接本地或用 SSH 登录)
ssh youruser@your-server-ip
2. 创建一个目录用于存放 Git 仓库
mkdir -p ~/gitrepos
cd ~/gitrepos
3. 初始化裸仓库
git init --bare myproject.git
这个目录将变成你的远程仓库,别人可以通过 Git 推送代码到这里。
✅ 三、从客户端上传本地仓库到服务器
1. 本地已有一个项目(例如):
cd ~/myproject
git init
git add .
git commit -m "initial commit"
2. 添加远程仓库地址(以 SSH 为例):
git remote add origin youruser@your-server-ip:~/gitrepos/myproject.git
或者,如果你用了 git 用户:
git remote add origin git@your-server-ip:/home/git/gitrepos/myproject.git
3. 推送本地代码到服务器:
git push -u origin master
如果是新 Git 版本,默认分支可能是 main:
git push -u origin main
✅ 四、其他人如何访问这个仓库?
✔️ 方法 1:SSH 方式访问(推荐)
- 告诉别人:
git clone git@your-server-ip:/home/git/gitrepos/myproject.git - 需要配置好服务器的 SSH 端口、用户和权限(可配置
authorized_keys)
✔️ 方法 2:搭建 HTTP/HTTPS 只读 Git 浏览器(可选)
如果你想让大家可以在网页上直接“查看代码”,可以加装一个轻量级 Git 浏览工具,如:
| 工具 | 功能说明 |
|---|---|
| cgit | 高性能、轻量、只读网页 |
| Gitea | 轻量级 GitHub 替代品,有 UI、有权限系统 |
| Gitweb | Git 自带的网页浏览器,简单 |
✅ 五、示例:快速部署一个只读网页界面(用 Gitea)
如果你希望像 GitHub 一样访问你的仓库:
sudo apt install gitea
然后:
- 打开网页:http://your-server-ip:3000
- 配置仓库路径为
/home/git/gitrepos/ - 登录 Gitea 后将本地仓库上传即可
🧠 常见问题
| 问题 | 解决方式 |
|---|---|
| 权限被拒绝 | 检查服务器的用户、目录权限和 SSH 公钥是否配置 |
| 别人 clone 报错 | 确保仓库为 --bare 类型,并且路径正确 |
| 网页访问不了 | 没有安装网页 Git 浏览工具,可选装 Gitea/cgit |
✅ 总结流程图
[客户端项目]
│
├─ git init + commit
├─ git remote add origin user@ip:~/gitrepos/myproject.git
└─ git push
[服务器 Ubuntu]
├─ apt install git
├─ mkdir ~/gitrepos
└─ git init --bare myproject.git
如果你希望我:
- ✅ 给出完整的 Gitea 安装+配置步骤;
- ✅ 或者帮你自动生成 Git 服务脚本;
只需要告诉我当前你服务器的网络环境和目标用途,我可以一步步帮你搞定。需要吗?

浙公网安备 33010602011771号