豌豆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作答

📣 商家广告


广告招商

广告招商

算命

八字

月饼


0

IP地址: 107.197.155.187

搜索次数: 0

提问时间: 2025-11-09 08:33:22

🛒 域名购买
3.gx.cn
kt6.cn
pcks.cn
2226.com.cn
979.net.cn
59.gold
zv.gs
yz.biz
9.gz.cn
pai.kim

❓️ 热门提问
人工智能云服务器
windows 服务器管理
.pics 域名
挂机主机尺寸
下载云空间收费吗
机架服务器品牌
深圳飞香港有直飞吗
为什么一直没信号怎么办
个人网站免费域名和服务器
域名抢注平台SEO
豌豆Ai站群搜索引擎系统

🌐 域名评估
su.xz.cn
www.example.com
h.sc.cn
sph.net.cn
j-f.com.cn
Zhao.work
su7.gs.cn
955.net.cn
bxss.me
sea.cab

⛏ 最新挖掘
凯里酸汤鱼
贵阳烤脑花
都匀毛尖茶
花溪牛肉粉
贵阳烤生蚝
贵阳烤豆腐
贵阳纸包鱼
贵阳特色菜

🖌 热门作画

🤝 关于我们:
豌豆Ai 域名 建站 站群 留痕 推广 评估 源码
开发Ai 工具 日记 价格 加盟 广告 流量 留言 联系

🗨 加入群聊
群

🔗 友情链接
搜站点  北京搜索优化  ai提问

🧰 站长工具
Ai工具  whois查询  搜索

📢 温馨提示:本站所有问答由Ai自动创作,内容仅供参考,若有误差请用“联系”里面信息通知我们人工修改或删除。

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

上一篇 82822 82823 82824 下一篇