最近由于github的连接非常不稳定,所以把代码都从github迁移到了gitee上了。
但是由于github目前使用者众,为了方便被检索,又想定期把gitee仓库同步到github上去。
于是写了个自动同步的脚本来定时完成这个工作。
步骤
1. 前置说明
首先有一台主机(最好是linux主机)
然后完成了如下git基本设置:
- 在主机上安装git
- 在主机上生成ssh的密钥对
- 在gitee和github上都添加主机的公钥
2. setup
- 从gitee下载代码
git clone git@gitee.com:bendell02/leetcode.git
代码库的地址填写为自己要同步的代码库地址
进入代码库目录:
cd leetcode
- 添加github的远程仓库
git remote add github git@github.com:bendell02/leetcode.git
- 并对origin重命名,方便后面区分
git remote rename origin gitee
- 新建同步脚本
_sync_from_gitee_to_github.sh
#!/bin/bash
cd /home/user/code/leetcode
git pull gitee master
git push github master
如果是首次执行git push
,可能会提示设置 push.default ,可执行如下命令设置:
git config --global push.default simple
- 给脚本
_sync_from_gitee_to_github.sh
执行权限
chmod +x _sync_from_gitee_to_github.sh
3. 同步代码
以后同步,如下执行命令即可:
./_sync_from_gitee_to_github.sh
4. 增加定时任务
如果不想每次都手动执行上面的命令,可以增加定时任务,让主机定时自动执行
crontab -e
在最后添加
1 1 */2 * * /home/user/code/leetcode/_sync_from_gitee_to_github.sh
则会自动每隔两天的上午1点到1分执行。
上面脚本的路径根据自己的情况修改。
网友评论