首页 / 国外VPS推荐 / 正文
手把手教你用CentOS搭个代码金库零基础玩转Git服务器搭建

Time:2025年04月03日 Read:4 评论:0 作者:y21dr45

大家好我是陈师傅(扶了扶并不存在的眼镜),今天要带各位体验一场"代码的奇幻漂流"。前两天隔壁工位老王神秘兮兮地说:"我有个价值十个亿的项目..."(停顿)"...的源码需要找个安全的地方存着",我反手就给他演示了如何用CentOS搭个私人Git服务器。现在就把这个能让你在妹子面前装...啊不是...提升技术实力的技能传授给大家!

手把手教你用CentOS搭个代码金库零基础玩转Git服务器搭建

---

一、准备工作:你的数字工地需要哪些"建材"?

想象你要盖个代码别墅(服务器),首先得准备:

1. 一台至少1核2G的CentOS 7+服务器(云主机或旧电脑都行)

2. 能流畅打出sudo的双手(建议先洗手避免键盘卡键)

3. 一颗遇到报错不摔键盘的强大心脏

专业提示:建议关闭SELinux以免后续出现灵异事件:

```bash

sudo setenforce 0

sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

```

二、施工第一步:安装我们的"金库管理员"Git

就像开锁需要钥匙一样:

sudo yum install -y git

安装完成后记得给老王看看版本号装个X:

git --version

输出类似 git version 2.18.1 说明安装成功

三、创建专属"仓库管理员"账户

总不能让你家猫都能push代码吧?我们来新建git专用账户:

sudo adduser git

sudo passwd git

设置一个比银行卡密码还复杂的密码

这时候老王突然举手:"为什么要单独建用户?"问得好!这就好比不能把保险柜钥匙插门上——专用账户既能隔离权限又能方便管理。不信你看/etc/passwd文件里新出现的这个git用户信息。

四、打造你的第一个数字金库(初始化仓库)

让我们给老王的十个亿项目建个豪华单间:

sudo mkdir -p /home/git/repositories/10billion-project.git

cd /home/git/repositories/10billion-project.git

sudo git init --bare

--bare参数表示这是个裸仓库

这时候老王又双叒叕提问:"这裸仓库和我本地仓库有啥区别?"(敲黑板)裸仓库就像银行金库只存金条不装修——没有工作区文件更适合做中央仓库。

五、配置SSH密钥:给你的代码上把智能锁

1. 本地生成钥匙(以Windows为例):

在Git Bash执行:

```bash

ssh-keygen -t rsa -C "laowang@10billion.com"

```

生成的id_rsa.pub就是你的"电子指纹"

2. 在服务器创建授权文件

sudo mkdir /home/git/.ssh

sudo touch /home/git/.ssh/authorized_keys

sudo chmod 700 /home/git/.ssh

sudo chmod 600 /home/git/.ssh/authorized_keys

3. 把公钥复制到服务器

使用sz/rz命令或者复制粘贴大法把id_rsa.pub内容追加到authorized_keys里

这时候可以测试下你的数字钥匙是否匹配成功:

ssh git@你的服务器IP地址

如果看到欢迎信息而不是拒绝提示...恭喜你获得数字世界入场券!

六、实战演练:从本地push百万行代码的老王の初体验

老王颤抖着手在本地执行:

git remote add origin git@服务器IP:/home/git/repositories/10billion-project.git

git push -u origin master

当看到类似这样的输出时:

Counting objects: 100% (100/100), done.

Writing objects: 100% (100/100), 1.01 MiB | 1.12 MiB/s, done.

Total 100 (delta 20), reused 0 (delta 0)

To xxx.xxx.xxx.xxx:/home/git/repositories/10billion-project.git

* [new branch] master -> master

请准备好接受老王崇拜的目光吧!

七、高级技巧:给金库装上警报系统(Git钩子)

假设我们要在每次push时自动发邮件给老王(防止他忘记自己改过啥):

1. 进入hooks目录

```bash

cd /home/git/repositories/10billion-project.git/hooks

2. 创建post-receive脚本

sudo vim post-receive

内容参考:

!/bin/sh

echo "王总!您的十个亿项目有更新啦!快去查看!" | mail -s "代码变更提醒" laowang@10billion.com

3. 赋予执行权限

sudo chmod +x post-receive

下次push时就会触发这个邮件提醒——虽然可能被老王吐槽像催命符...

八、安全加固指南:别让黑客偷走你的十个亿

1. 禁用shell登录(让git用户只能传代码不能瞎操作):

修改/etc/passwd文件中的git用户行尾为:

git:x:1001:1001::/home/git:/usr/bin/git-shell

2. 定期备份大法好:

使用crontab设置定时任务同步到其他存储:

0 */6 * * * rsync -avz /home/git/repositories backup-server:/path/to/backup

3. 权限隔离策略:

不同项目组使用不同的公钥认证组进行隔离管理

[课后彩蛋] Git服务器的十万个为什么

Q:为啥不用Gitea/GitLab这些现成方案?

A:就像泡面和大餐的区别——简单需求自己搭更轻量;复杂需求还是上完整方案吧!

Q:如何支持HTTP协议访问?

A:可以配置nginx反向代理+git-http-backend实现

Q:客户端总是提示Permission denied怎么办?

A:请依次检查→公钥是否上传→文件权限是否正确→SELinux状态→防火墙端口是否开放

现在你已经掌握了打造私人代码金库的核心科技!最后友情提示:千万别真把十个亿的项目放进去测试啊!(除非你愿意分我一半)如果遇到问题欢迎评论区交流——当然如果问题太难的话...我可能会假装没看见~

TAG:centos搭建git服务器,centos部署git,搭建git服务器(在windows server),centos git

标签:
排行榜
关于我们
「好主机」服务器测评网专注于为用户提供专业、真实的服务器评测与高性价比推荐。我们通过硬核性能测试、稳定性追踪及用户真实评价,帮助企业和个人用户快速找到最适合的服务器解决方案。无论是云服务器、物理服务器还是企业级服务器,好主机都是您值得信赖的选购指南!
快捷菜单1
服务器测评
VPS测评
VPS测评
服务器资讯
服务器资讯
扫码关注
鲁ICP备2022041413号-1