豌豆Ai站群搜索引擎系统 V.25.10.25 网址:www.wd.chat

🗣 Wd提问: linux部署git服务器

🤖 Ai回答:
在 Linux 上部署 Git 服务器有多种方式,最常用的是使用 Git + SSH(推荐)或 Git over HTTP。下面以 SSH 方式 为例,介绍如何在 Linux 系统上搭建一个简易的 Git 服务器。

✅ 一、准备工作

1、系统要求
一台 Linux 服务器(如 Ubuntu、CentOS、Debian 等)
拥有 root 或 sudo 权限
已安装 Git(大多数系统默认已安装)

bash
检查 Git 是否安装
git version

如果没有安装,可执行:

bash
Ubuntu/Debian
sudo apt update && sudo apt install git -y

CentOS/RHEL/Fedora
sudo yum install git -y CentOS 7 及以下

sudo dnf install git -y CentOS 8+/Fedora

✅ 二、创建 Git 用户(推荐)

为安全起见,建议创建一个专门用于 Git 服务的用户(如 `git`),避免使用 root。

bash
sudo adduser git
sudo passwd git 设置密码(可选,若用密钥登录则无需密码)

💡 建议禁用 shell 登录(增强安全性):
bash
sudo usermod -s /usr/bin/git-shell git

`git-shell` 是 Git 提供的受限 shell,只允许执行 Git 相关命令,防止用户登录后执行其他操作。

✅ 三、配置 SSH 密钥(推荐方式)

1、在客户端生成 SSH 密钥(开发者电脑)

bash
ssh-keygen -t rsa -b 4096 -C your_email@65.hk

默认会生成 `~/.ssh/id_rsa` 和 `~/.ssh/id_rsa.pub`

2、将公钥上传到服务器

将本地公钥内容(`id_rsa.pub`)复制到服务器上的 `/home/git/.ssh/authorized_keys`

bash
在服务器上操作:
sudo mkdir -p /home/git/.ssh
sudo touch /home/git/.ssh/authorized_keys
sudo chmod 700 /home/git/.ssh
sudo chmod 600 /home/git/.ssh/authorized_keys

将客户端公钥内容粘贴到 authorized_keys 文件中
sudo nano /home/git/.ssh/authorized_keys

或者直接从客户端推送:

bash
客户端执行(需知道服务器 IP 和 git 密码)
cat ~/.ssh/id_rsa.pub | ssh git@your_server_ip mkdir -p ~/.ssh && cat ~/.ssh/authorized_keys

⚠️ 注意:确保 `/home/git/.ssh` 目录和文件权限正确,否则 SSH 会拒绝登录。

✅ 四、创建裸仓库(Bare Repository)

在服务器上创建一个“裸仓库”(无工作区,仅用于存储版本历史)。

bash
切换到 git 用户
sudo su git

创建项目仓库目录(例如:myproject.git)
mkdir -p /home/git/repositories/myproject.git
cd /home/git/repositories/myproject.git

初始化裸仓库
git init bare

📌 裸仓库命名惯例:以 `.git` 结尾(如 `myproject.git`)

✅ 五、客户端克隆与推送测试

在你的本地开发机上测试连接:

bash
克隆仓库
git clone git@your_server_ip:/home/git/repositories/myproject.git

进入项目目录
cd myproject

创建测试文件并提交
echo Hello Git Server README.md
git add .
git commit -m Initial commit

推送到服务器
git push origin master

✅ 如果成功,说明 Git 服务器部署完成!

✅ 六、(可选)设置仓库权限

如果多个开发者共用仓库,可以设置组权限:

bash
创建 git 组
sudo groupadd git

将 git 用户加入组
sudo usermod -a -G git git

修改仓库权限
sudo chown -R git:git /home/git/repositories/
sudo chmod -R 775 /home/git/repositories/

✅ 七、(进阶)使用 Gitolite / Gitea / GitLab

如果你需要更强大的功能(如权限管理、Web 界面、Pull Request 等),推荐使用:

| 工具 | 特点 |

| Gitolite | 轻量级,基于 SSH,适合小团队 |
| Gitea | 自托管,轻量,支持 Web UI |
| GitLab CE | 功能强大,企业级,资源占用较高 |

📦 示例:快速部署 Gitea(推荐新手)

bash
下载 Gitea
wget -O gitea https://dl.gitea.io/gitea/latest/gitea-linux-amd64

赋予执行权限
chmod +x gitea

启动(默认监听 3000 端口)
./gitea web

然后访问 `http://your_server_ip:3000` 完成初始化配置。

✅ 八、防火墙设置(如需远程访问)

确保 SSH 端口(默认 22)开放:

bash
Ubuntu/Debian (ufw)
sudo ufw allow 22

CentOS/Fedora (firewalld)
sudo firewall-cmd permanent add-service=ssh
sudo firewall-cmd reload

✅ 九、总结

✅ 你已完成以下步骤:

安装 Git
创建 git 用户并限制 shell
配置 SSH 密钥认证
创建裸仓库
客户端测试克隆与推送

📌 附:常用命令速查

bash
查看仓库状态
git status

添加远程仓库
git remote add origin git@server:/path/to/repo.git

推送代码
git push origin main

拉取代码
git pull origin main

✅ 现在你已经拥有了一个基础但功能完整的 Git 服务器!可根据团队规模选择是否升级到 Gitea/GitLab 等平台。

如有问题欢迎继续提问!🚀

Ai作答

📣 商家广告


广告招商

八字

广告招商

vps

星座


0

IP地址: 163.217.87.39

搜索次数: 6

提问时间: 2025-11-08 22:53:40

🛒 域名购买

❓️ 热门提问

🌐 域名评估

最新挖掘

🖌 热门作画

🤝 关于我们

🗨 加入群聊

🔗 友情链接

🧰 站长工具
📢

温馨提示

本站所有 问答 均由Ai自动分析整理,内容仅供参考,若有误差请用“联系”里面信息通知我们人工修改或删除。

👉

技术支持

本站由 🟢 豌豆Ai 提供技术支持,使用的最新版: 豌豆Ai站群搜索引擎系统 V.25.10.25 搭建本站。

上一篇 82599 82600 82601 下一篇