云电脑搭建Git仓库,网站代码版本管理
云电脑搭建Git仓库,网站代码版本管理
在云电脑上搭建私有 Git 仓库,能让你像使用 GitHub 一样管理网站代码,但数据完全掌握在自己手里。
适合需要版本控制、又不想公开代码的站长或小团队。
跟着下面步骤做,大约 20 分钟就能完成从安装到推送的完整流程。
先确认云电脑环境与准备工具
开始前,确保你的云电脑满足以下条件:
- 一台运行 Linux 的云电脑(Ubuntu 20.04/22.04 或 CentOS 7/8 均可),本文以 Ubuntu 22.04 为例。
- 拥有
root权限或可执行sudo的普通用户。 - 云电脑安全组已放行 SSH 端口(默认 22),如果后续要用 HTTP 方式访问,还需放行 80 或自定义端口。
- 本地电脑已安装 Git(Windows 可下载 Git for Windows,macOS 用
brew install git)。
登录云电脑后,先更新软件包列表:
sudo apt update && sudo apt upgrade -y
安装 Git 并创建专用用户
为了安全,不建议直接用 root 运行 Git 服务。
新建一个名为 git 的系统用户:
sudo adduser --system --shell /bin/bash --group --disabled-password --home /home/git git
接着安装 Git:
sudo apt install git -y
git --version
看到版本号输出即表示安装成功。
初始化裸仓库与配置 SSH 访问
裸仓库(bare repository)没有工作区,专门用于中央版本库。
切换到 git 用户并创建仓库目录:
sudo su - git
mkdir -p /home/git/repos/mywebsite.git
git init --bare /home/git/repos/mywebsite.git
exit
现在配置 SSH 公钥登录,这样推送代码时不用每次输密码。
在本地电脑生成密钥对(如果已有可跳过):
ssh-keygen -t ed25519 -C "your_email@example.com"
将公钥内容追加到云电脑的 authorized_keys:
cat ~/.ssh/id_ed25519.pub | ssh user@your_server_ip "sudo su - git -c 'mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys'"
把 user 和 your_server_ip 换成你的实际登录信息。
完成后测试连接:
ssh -T git@your_server_ip
如果显示 Welcome to Git 或类似提示,说明 SSH 访问已通。
本地关联远程仓库并推送代码
进入你本地已有的网站项目目录,初始化 Git 并关联远程仓库:
cd /path/to/your/website
git init
git add .
git commit -m "首次提交"
git remote add origin git@your_server_ip:/home/git/repos/mywebsite.git
git push -u origin master
如果默认分支是 main,把 master 换成 main。
推送成功后,云电脑上的裸仓库就保存了你的代码版本。
容易踩坑的几个地方
权限问题:裸仓库目录必须属于 git 用户,否则推送会报 insufficient permission。
可以用 sudo chown -R git:git /home/git/repos 修复。
SSH 端口非 22:
如果云电脑 SSH 端口不是 22,
远程地址要写成 ssh:,
//git@your_server_ip:
端口/路径
例如 ssh:。
//git@1.2.3.4:
2222/home/git/repos/mywebsite.git
推送被拒绝:常见原因是本地分支与远程分支不一致。
先执行 git pull origin master --allow-unrelated-histories 合并,再推送。
防火墙拦截:如果连接超时,检查云电脑安全组和系统防火墙是否放行 SSH 端口。
验证仓库是否可用
在本地电脑另建一个空目录,克隆仓库测试:
git clone git@your_server_ip:/home/git/repos/mywebsite.git test-clone
进入 test-clone 能看到网站文件,说明版本管理已生效。
之后每次修改代码,按 git add、git commit、git push 三步操作,就能在云电脑上保留完整历史记录。
常见疑问
问:必须用裸仓库吗?
是的,中央仓库推荐裸仓库,避免工作区与推送冲突。
问:能否用 HTTP 方式访问?
可以,但需要额外配置 Web 服务器和认证,SSH 方式更简单安全。
问:云电脑重启后仓库还在吗?
只要仓库目录在系统盘且未删除,重启后依然存在。建议定期备份 /home/git/repos 目录。
按照以上步骤操作,你就能在云电脑上拥有一个私有的 Git 仓库,方便管理网站代码版本。
遇到报错时,优先检查权限和 SSH 连接,多数问题都能快速解决。