内容纲要
使用git在两台机器之间同步代码
前言
目前自己折腾了一个新的服务器,博客服务器快到期,所以在新服务器上自己搭建环境。为了版本化管理服务器的配置文件,便萌生在服务器端和本地同时保存这些配置文件。那么通过git便可以实现这个目的。
当前服务器配置好了,仅能通过ssh免密登录。服务器端已有git,本地和服务器端的公钥、私钥均已配置好了。
配置
# 为git配置私钥
vim ~/.ssh/config
添加以下配置:
# Host - 识别模式名称
# HostName - 要登录主机的主机名
# IdentityFile - 登录用户对应的IdentityFile路径
Host blog.rtfsc8.top
HostName blog.rtfsc8.top
PreferredAuthentications publickey
IdentityFile ~/private_key_file
Server Side Init
# 创建备份项目
mkdir /opt/confs
cd /opt/confs
# git初始化
git init
# 复制需要备份的配置文件
cp -r /etc .
mkdir -p usr/local/nginx/conf
cp -r /usr/local/nginx/conf .
mkdir -p usr/local/php/etc
cp -r /usr/local/php/etc .
# 添加到git并提交
git add *
git commit
## bare 仓库
# 创建仓库基目录
mkdir /opt/bare
# 创建 bare 仓库
git clone --bare /opt/confs /opt/bare/confs.git
# 设置允许提交
git config receive.denyCurrentBranch ignore
## 服务器端仓库设置 upstream
# 设置 upstream
cd /opt/confs
git remote add origin /opt/bare/confs.git
# 设置 branch
git branch --set-upstream-to=origin/master master
Local Clone
# 从服务器端clone项目到本地
git clone ssh://[user@]blog.rtfsc8.top/opt/bare/confs.git
# user - 服务器登录用户名
## 本地已有clone,重置 upstream
# 设置 upstream
git config remote.origin.url ssh://[user@]blog.rtfsc8.top/opt/bare/confs.git
# 设置 branch
git push --set-upstream origin master
## 如果本地与远程版本落后
# 则需要pull
git pull origin master
# 然后再设置 upstream
git branch --set-upstream-to=origin/master master
Reference
声明:
未经特别说明,本站Blog均采用署名-非商业性使用-禁止演绎 2.5 中国大陆授权。任何违反本协议的行为均属于非法行为。如需非商业性转载,请保留署名。如需商业性转载出版,请直接和我联系。