如何自己建立一个 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

然后:


🧠 常见问题

问题 解决方式
权限被拒绝 检查服务器的用户、目录权限和 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 服务脚本;
    只需要告诉我当前你服务器的网络环境和目标用途,我可以一步步帮你搞定。需要吗?
posted @ 2025-06-30 20:14  Greg_LYU  阅读(449)  评论(0)    收藏  举报