[Git] Git云服务器负责同步

前言

使用git做笔记的时候,突然发现github克隆仓库网络好差,但是又不能不用,突然想到了使用云服务器,平时有需要可以让云服务器去克隆一些仓库,然后到时候自己本地从云服务器克隆,之后push到云服务器,云服务器再将更新后的仓库同步到github以及gitee等网站的仓库。

搭建git服务器

参见廖雪峰教程 https://www.liaoxuefeng.com/wiki/896043488029600/899998870925664

在网站添加云服务器的ssh-key

我当时没有禁用git账户登录功能,使用git账户,登录创建公钥,然后将公钥保存至github网站的公钥列表中
ssh-keygen -t rsa -C "email"
参见廖雪峰教程 https://www.liaoxuefeng.com/wiki/896043488029600/896954117292416
自己之前的笔记 https://www.cnblogs.com/by-sknight/articles/14067713.html#%E5%88%9B%E5%BB%BAssh-key-%E5%B0%86%E7%94%A8%E6%88%B7%E4%B8%BB%E7%9B%AE%E5%BD%95%E4%B8%8B%E7%9A%84sshid_rsapub%E6%B7%BB%E5%8A%A0%E5%88%B0github%E4%B8%AD

在云服务器上添加远程仓库的地址

git remote add github git@github.com/xxx
git remote add gitee git@gitee.com/xxx

使用钩子,每次本地同步至云服务器时,云服务器同步至其它网站

使用了服务器端的post-update文件,如果是自己创建的文件的话,记得添加执行权限chmod +x post-update,代码如下

#!/bin/bash

git push gitee master >push_to_gitee.log 2&>/dev/null  &
git push github master >push_to_github.log 2&>/dev/null &
posted @ 2020-12-18 15:35  by-sknight  阅读(193)  评论(0编辑  收藏  举报