如何自己建立一個(gè) git server
很好!你可以很方便地在 Ubuntu 服務(wù)器上搭建自己的 Git 倉(cāng)庫(kù)服務(wù)器,供自己上傳項(xiàng)目,并通過(guò)局域網(wǎng)或公網(wǎng)(如 IP + 端口)讓別人訪問(wèn)查看代碼。
下面我為你詳細(xì)列出完整流程,不依賴 GitHub/GitLab,就是自己搭建純 Git 服務(wù)。
? 一、準(zhǔn)備工作
服務(wù)器要求:
- 系統(tǒng):Ubuntu(任意版本都可以)
- 安裝 Git:
sudo apt update
sudo apt install git
建議創(chuàng)建一個(gè)用于 Git 的用戶(可選)
sudo adduser git
? 二、在服務(wù)器上創(chuàng)建裸倉(cāng)庫(kù)(bare repo)
裸倉(cāng)庫(kù)(bare repository) 是服務(wù)器上專(zhuān)用來(lái)存儲(chǔ) Git 數(shù)據(jù)的倉(cāng)庫(kù),不能直接編輯文件。
1. 登錄服務(wù)器(可直接本地或用 SSH 登錄)
ssh youruser@your-server-ip
2. 創(chuàng)建一個(gè)目錄用于存放 Git 倉(cāng)庫(kù)
mkdir -p ~/gitrepos
cd ~/gitrepos
3. 初始化裸倉(cāng)庫(kù)
git init --bare myproject.git
這個(gè)目錄將變成你的遠(yuǎn)程倉(cāng)庫(kù),別人可以通過(guò) Git 推送代碼到這里。
? 三、從客戶端上傳本地倉(cāng)庫(kù)到服務(wù)器
1. 本地已有一個(gè)項(xiàng)目(例如):
cd ~/myproject
git init
git add .
git commit -m "initial commit"
2. 添加遠(yuǎn)程倉(cāng)庫(kù)地址(以 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. 推送本地代碼到服務(wù)器:
git push -u origin master
如果是新 Git 版本,默認(rèn)分支可能是 main:
git push -u origin main
? 四、其他人如何訪問(wèn)這個(gè)倉(cāng)庫(kù)?
?? 方法 1:SSH 方式訪問(wèn)(推薦)
- 告訴別人:
git clone git@your-server-ip:/home/git/gitrepos/myproject.git - 需要配置好服務(wù)器的 SSH 端口、用戶和權(quán)限(可配置
authorized_keys)
?? 方法 2:搭建 HTTP/HTTPS 只讀 Git 瀏覽器(可選)
如果你想讓大家可以在網(wǎng)頁(yè)上直接“查看代碼”,可以加裝一個(gè)輕量級(jí) Git 瀏覽工具,如:
| 工具 | 功能說(shuō)明 |
|---|---|
| cgit | 高性能、輕量、只讀網(wǎng)頁(yè) |
| Gitea | 輕量級(jí) GitHub 替代品,有 UI、有權(quán)限系統(tǒng) |
| Gitweb | Git 自帶的網(wǎng)頁(yè)瀏覽器,簡(jiǎn)單 |
? 五、示例:快速部署一個(gè)只讀網(wǎng)頁(yè)界面(用 Gitea)
如果你希望像 GitHub 一樣訪問(wèn)你的倉(cāng)庫(kù):
sudo apt install gitea
然后:
- 打開(kāi)網(wǎng)頁(yè):http://your-server-ip:3000
- 配置倉(cāng)庫(kù)路徑為
/home/git/gitrepos/ - 登錄 Gitea 后將本地倉(cāng)庫(kù)上傳即可
?? 常見(jiàn)問(wèn)題
| 問(wèn)題 | 解決方式 |
|---|---|
| 權(quán)限被拒絕 | 檢查服務(wù)器的用戶、目錄權(quán)限和 SSH 公鑰是否配置 |
| 別人 clone 報(bào)錯(cuò) | 確保倉(cāng)庫(kù)為 --bare 類(lèi)型,并且路徑正確 |
| 網(wǎng)頁(yè)訪問(wèn)不了 | 沒(méi)有安裝網(wǎng)頁(yè) Git 瀏覽工具,可選裝 Gitea/cgit |
? 總結(jié)流程圖
[客戶端項(xiàng)目]
│
├─ git init + commit
├─ git remote add origin user@ip:~/gitrepos/myproject.git
└─ git push
[服務(wù)器 Ubuntu]
├─ apt install git
├─ mkdir ~/gitrepos
└─ git init --bare myproject.git
如果你希望我:
- ? 給出完整的 Gitea 安裝+配置步驟;
- ? 或者幫你自動(dòng)生成 Git 服務(wù)腳本;
只需要告訴我當(dāng)前你服務(wù)器的網(wǎng)絡(luò)環(huán)境和目標(biāo)用途,我可以一步步幫你搞定。需要嗎?

浙公網(wǎng)安備 33010602011771號(hào)