[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 &