引言:
一开始电脑只配置了Github的SSH,闲来无聊试了下Gitee。开始自己尝试了用HTTPS方式在本地克隆了一个.
git clone https://gitee.com/forwardCao/note.git
发现只是在第一次提交的时候需要输入下帐户名密码,后续提交和配置好SSH一样(但我没试过重启电脑是否需要再一次输入账户密码,或者像网页一样有缓存时效)。如果各位验证后输入一次永久有效的话,自己又不愿配置,可以使用HTTPS方式克隆到本地然后提交。下面是配置共存方法。
配置方法
- step1生成密钥
ssh-keygen -t rsa -C "xxx@xxx.xxx" -f ~/.ssh/id_rsa_gitee ssh-keygen -t rsa -C "yyy@yyy.yyy" -f ~/.ssh/id_rsa_github
-t
用来指定加密算法为rsa
- -
C
后面是个注释信息,并不一定要和你 Git 账户的邮箱或者 Git 账户名保持一致,随便写什么都行-f
密钥生成目录及文件名
- step2 添加私钥.因为Git会默认只读取到id_rsa,为了让SSH识别新的私钥,需将其添加到SSH agent中
ssh-add ~/.ssh/id_rsa_gitee ssh-add ~/.ssh/id_rsa_github
如果出现Could not open a connection to your authentication agent的错误,就尝试以下命令:
ssh-agent bash ssh-add ~/.ssh/id_rsa ssh-add ~/.ssh/id_rsa_work
- 编辑config文件( windows目录
/C/Users/username/.ssh
),没有这个文件的话新建一个# gitee Host gitee HostName gitee.com PreferredAuthentications publickey IdentityFile ~/.ssh/id_rsa_gitee user git # github Host github HostName github.com PreferredAuthentications publickey IdentityFile ~/.ssh/id_rsa_github user git # 配置文件参数 # Host:对识别的模式,进行配置对应的的主机名和ssh文件 # HostName:登录主机的主机名 # PreferredAuthentications:设置登录方式,publickey公钥,改成password则要输密码 # IdentityFile:私钥全路径名
-
step3
分别将两个公钥(.pub)内容复制
github
gitee
SSH设置中。 -
step4 测试是否成功
ssh -T git@gitee.com
ssh -T git@github.com
到此配置就完成了
同一个项目关联两个托管平台
默认远程名为origin
,查看远程信息
git remote -v
origin https://gitee.com/forwardCao/note.git (fetch)
origin https://gitee.com/forwardCao/note.git (push)
关联另一个平台
git remote add github git@github.com:forwardCao/test.git
此时有远程仓库origin 和github,使用git push 远程仓库名
提交修改
建议重新命名origin远程名,先删除再添加
git remote rm origin
git remote add gitee git@gitee.com:forwardCao/learngit.git