日常造轮子,我们会把项目托管到 github
, 奈何总是时不时访问不了(被墙),就想到了同时托管到gitee
,下面分享一下探索的过程,欢迎讨论:
前提是:两个账户已分别绑定 git 推送权限
1. 生成秘钥
# 分别生成两个平台的
ssh-keygen -t rsa -C "youremail" -f ~/.ssh/id_rsa_github
windows
ssh-keygen -t rsa -C "youremail" -f ./.ssh/id_rsa_gitee
cd .ssh
touch config
vi config
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile /c/Users/xn213/.ssh/id_rsa_github
user xn213
Host gitee.com
HostName gitee.com
PreferredAuthentications publickey
IdentityFile /c/Users/xn213/.ssh/id_rsa_gitee
user xn213
2. 添加远端仓库
git remote add github git@github.com:xn213/koa-app.git
git remote add gitee git@gitee.com:xn213/koa-app.git
yarn commit
# 分别提交
git push github
git push gitee
3. 升级省事: 同时提交到 github 和 gitee
修改 .git/config
[remote "origin"]
url = git@github.com:xn213/koa-app.git
url = git@gitee.com:xn213/koa-app.git
fetch = +refs/heads/*:refs/remotes/origin/*
这时第一次提交到 gitee, alias: gp == git push 会提示如下图,
由于上面分别提交到 github 和 gitee, 设置了 git remote gitee..., 要使用如下命令提交
git push --set-upstream origin master
此命令会在 .git/config 中添加如下字段
[branch "master"]
remote = origin
merge = refs/heads/master
同理,也可以托管到 gitlab
等平台, 你有没有更好的轮子工具呢?