数码工坊
白蓝主题五 · 清爽阅读
首页  > 数据备份

服务端Git怎么用:轻松搭建自己的代码仓库

在团队协作开发或者个人项目管理中,经常会遇到需要统一存放代码的地方。这时候,一个私有的服务Git就显得特别实用。不像GitHub、GitLab这些公共平台,自己搭的服务端Git能更好地控制权限和数据安全,尤其适合公司内部项目或敏感代码的备份。

为什么要在服务端用Git

想象一下,你和同事都在改同一个项目,大家把代码随便发来发去,最后谁也不知道哪个是最新版。有了服务端Git,所有人统一从一个“中央仓库”拉取和推送代码,版本清晰,协作顺畅。而且,所有变更都有记录,就算误删也能找回,相当于给代码上了保险。

准备一台服务器

你可以用家里闲置的旧电脑、树莓派,或者租一台VPS。系统推荐用Linux,比如Ubuntu或CentOS,稳定又省资源。确保SSH服务已经开启,因为Git通常通过SSH协议通信。

创建Git用户

为了安全,不建议直接用root操作。先在服务器上创建一个专门的git用户:

sudo adduser git

设置密码后,切换到git用户:

su - git

初始化裸仓库

在git用户的家目录下创建一个项目仓库,比如叫myproject.git:

mkdir /home/git/myproject.git && cd /home/git/myproject.git
git init --bare

这里的--bare表示这是一个裸仓库,没有工作区,只用来存储版本数据,适合做远程仓库。

本地推送代码

在你的电脑上进入项目目录,添加远程地址:

git remote add origin git@your-server-ip:/home/git/myproject.git

第一次推送时,把本地分支推上去:

git push -u origin main

之后每次改完代码,执行git add、git commit后再git push,服务器上的仓库就会同步更新。

权限控制小技巧

如果多人使用,可以配置SSH密钥免密登录。每个开发者把自己的公钥发给你,你把公钥内容追加到git用户的~/.ssh/authorized_keys文件里。这样他们就能用SSH连接服务器,但看不到其他文件,保证了安全性。

日常备份更安心

除了团队协作,服务端Git还能当自动备份工具用。比如你每天写的笔记项目,写完提交一次,push到服务器,等于多了一份异地备份。哪怕笔记本丢了,代码还在服务器上。

结合脚本自动化

可以写个简单的shell脚本,每天定时提交并推送:

#!/bin/bash
cd /path/to/your/project
git add .
git commit -m "auto backup $(date +%Y-%m-%d)"
git push origin main

配合cron任务,每天凌晨跑一次,完全不用操心。

出问题怎么办

如果推送失败,先检查SSH是否通,命令是ssh git@your-server-ip。不通的话看防火墙或SSH服务状态。如果提示权限拒绝,确认公钥是否正确写入authorized_keys,以及文件权限是否为600。