Git | 推送到GitHub和码云
配置ssh:
生成对应github和码云账户的ssh密钥:
ssh-keygen -t rsa -C '<mail>'
命名私钥为:id_rsa_gitee, id_rsa_github
命名公钥为:id_rsa_gitee.pub, id_rsa_github.pub
分别对应码云和github的密钥
把公钥添加到相应网站的ssh密钥列表中
修改~/.ssh/config:
# gitee
Host gitee.com
HostName gitee.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_gitee
# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_github
来指明访问特定域名认证时所使用的密钥文件
测试是否连通:
ssh gitee.com
ssh github.com
出现:Hi ...! You've successfully authenticated.
表示连接成功
配置远程源:
添加源地址:
git remote add origin <github-address>
保证代码状态最新,先推送到github:
git push
默认推送到github/main
进入gitee创建新仓库,从github导入现有仓库
在config文件中配置:
(config文件: .git/config 或 git全局config文件)
添加远程地址origin2:
[remote "origin2"]
url=<gitee-address>
fetch = +refs/heads/*:refs/remotes/origin2/*
推送测试:
修改文件...
推送到默认地址/默认分支:
git push
推送到origin2/主分支:
git push origin2 main
推送完成后,查看HEAD指针同时指向origin2/main和origin/main:
若要同时推送:
添加额外的url地址到配置文件的同一个源节点下:
git remote set-url --add
或者手动修改config:
[remote "origin"]
url=
url=
新增一个url
此时只需:
git push
即可一次性推送到多个地址
缺点:这种方式设置时,拉取代码只能从第一个url拉取。