本地私有Git仓库存储建站与中转脚本

为什么要用私有Git仓库管理建站脚本?

做网站运维时经常需要编写或修改建站脚本(比如备份脚本、部署脚本、中转迁移脚本)。
如果每次都用U盘复制或者直接在服务器上编辑,很容易丢失版本、改错无法回退。搭建一个本地私有Git仓库,既可以安全存储脚本,又能通过Git完成版本控制和多服务器之间的中转传输。
本文全程面向零基础,让你跟着步骤走就能跑通。

准备条件

  • 一台Linux服务器(CentOS 7+或Ubuntu 18.04+),本文以CentOS 7为例。
  • 确保服务器已联网,有sudo权限。
  • 客户端电脑(Windows/Mac/Linux)安装Git(下载地址:https://git-scm.com/downloads)。
  • 知道如何用SSH登录服务器(如使用Xshell、Termius或终端)。

如果你还没有安装Git,先执行下面命令安装:

sudo yum install -y git   # CentOS
sudo apt install -y git   # Ubuntu

第一步:在服务器上创建裸仓库

裸仓库(bare repository)只包含Git版本数据,没有工作目录,专门用作中央存储。

  1. 登录服务器,切换到你想存放仓库的目录,比如/opt/git
   sudo mkdir -p /opt/git
   sudo chown -R $USER:$USER /opt/git
   cd /opt/git
  1. 初始化一个裸仓库,名字建议和项目相关,比如build-scripts.git
   git init --bare build-scripts.git

看到输出 Initialized empty Git repository in /opt/git/build-scripts.git/ 说明成功。

第二步:配置SSH免密访问

为了安全且方便地推送代码,建议使用SSH密钥对。

  1. 客户端电脑生成SSH密钥(如果已有可跳过):
   ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

一路回车,生成的公钥通常在~/.ssh/id_rsa.pub

  1. 将公钥内容添加到服务器的~/.ssh/authorized_keys文件中(假设你使用普通用户webadmin登录):
   ssh-copy-id webadmin@你的服务器IP

或者手动复制公钥内容,在服务器上执行:

   mkdir -p ~/.ssh && chmod 700 ~/.ssh
   echo "你的公钥内容" >> ~/.ssh/authorized_keys
   chmod 600 ~/.ssh/authorized_keys
  1. 测试免密登录:ssh webadmin@你的服务器IP 如果不提示密码即成功。

第三步:在客户端初始化本地仓库并推送脚本

  1. 在客户端创建一个本地文件夹,比如my-scripts
   mkdir my-scripts
   cd my-scripts
   git init
  1. 把你写好的建站脚本(比如backup.shdeploy.sh)复制到该文件夹。
  2. 添加文件并提交:
   git add .
   git commit -m "初始化建站脚本"
  1. 添加远程仓库地址(注意替换为你的服务器IP和仓库路径):
   git remote add origin ssh://webadmin@你的服务器IP/opt/git/build-scripts.git
  1. 推送代码到服务器:
   git push -u origin master

如果提示master -> master成功,说明脚本已安全存储在服务器私有仓库中。

第四步:从另一台服务器中转拉取脚本

当你想在其他服务器(比如另一台Web服务器)上使用相同的脚本时,可以用中转仓库管理。

  1. 在目标服务器上安装Git并配置SSH密钥(重复第二步,但公钥要添加到你仓库服务器的~/.ssh/authorized_keys)。
  2. 克隆仓库:
   git clone ssh://webadmin@你的仓库服务器IP/opt/git/build-scripts.git
  1. 之后脚本更新只需在仓库服务器推送,目标服务器执行git pull即可同步最新版本。

常见避坑指南

  • 权限不足无法推送:检查服务器仓库目录的属主和权限,确保运行SSH的用户对/opt/git/build-scripts.git有读写权限。
  • Git提示“拒绝连接”:先确认服务器SSH服务是否开启(systemctl status sshd),防火墙是否放行22端口。
  • 文件过大导致推送失败:Git默认单文件不能超过100MB。如果脚本包含大二进制文件,建议使用Git LFS或拆分存储。
  • 多个客户端同时推送冲突:先git pull --rebase拉取最新版本再推送。

效果验证

  1. 查看服务器仓库的提交历史:
   git log --oneline --all --graph
  1. 在另一台服务器拉取后,对比脚本内容是否一致:
   diff <远程服务器脚本路径> <本地脚本路径>
  1. 修改一个脚本文件,重新推送拉取,确认版本号正确。

常见问题解答(FAQ)

Q:每次都要输SSH密码怎么办?
A:请按照第二步配置SSH密钥对,并确保私钥文件权限为600,即可实现免密访问。

Q:我用的Windows客户端,怎么操作?
A:安装Git for Windows后,在“Git Bash”中执行上述命令,路径使用正斜杠或双反斜杠。

Q:仓库可以建在非root用户的家目录下吗?
A:可以,只是路径不要放在系统关键目录,建议~/git-repos/,并注意权限设置。

通过以上步骤,你已经拥有了一个本地私有Git仓库,专门用来存储建站脚本和中转管理。
后续只要保持习惯将每次修改提交并推送,你的脚本就不再容易丢失,而且可以轻松在多台服务器间同步。
如果你在操作中遇到其他问题,欢迎在评论区留言交流。

分享到:
上一篇
一键安全加固脚本住宅Linux服务器
下一篇
离线部署大模型依赖无网络住宅主机
1
系统公告

机房迁移升级通知

尊敬的用户: IP 段 103.23.148.x、156.224.29.x 原香港一区线路波动、攻击频繁,平台定于 7 月 5 日凌晨分批迁移至香港 GIA 机房,硬件升级 AMD 铂金机型。 迁移均在凌晨操作,最大程度降低业务影响,迁移期间服务器临时关机; 升级后配置不降低、费用不涨价,数据默认同步迁移; 迁移后 IP 全部更换,请及时修改域名解析、防火墙白名单; 建议提前备份重要数据,有问题可联系在线客服。 感谢理解与支持! 泽御云科技 2026.06.30
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意