之前的腾讯云搭建Linux环境博客中包含了本文,但是由于在我的环境下SSH配置git无法多次生效。
为了避免误导,所以把这一部分单独成文,并删除原文中相关部分
文章目录
1.创建SSH密匙
进入隐藏目录.ssh
,如果没有这个目录,可以用mkdir .ssh
语句创建一个
cd ~/.ssh
输入这个语句(github啥的都是同理)
ssh-keygen -t rsa -C "你的gitee账户邮箱"
然后会弹出来让你输入一个文件名,你可以输入id_rsa_用户名
Enter file in which to save the key (/home/muxue/.ssh/id_rsa): id_rsa_用户名
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
后面出现的passphrase
语句直接回车跳过,出现下面这个就是配置好了
Your identification has been saved in id_rsa_用户名
……
#后面还有很多,还出现了一个
①本地添加ssh密钥
执行下面两个语句,添加你的ssh密钥到设置中
注意,生成的密匙应该是在
ssh-agent bash
ssh-add ~/.ssh/id_rsa_用户名
②把SSH公钥添加到gitee账户上
使用Xftp打开刚刚创建的密钥文件,把里面生成的内容复制到gitee设置中,github同理
账户设置中找到SSH公钥,添加即可
③测试ssh连接
搞定密钥后,测试是否可以用ssh访问我们的远程仓库
ssh -T git@gitee.com
//github只需要把gitee改成github就行了
出现下面的就是成功了
④配置ssh/config文件
参考https://www.jianshu.com/p/89cb26e5c3e8/
这个操作貌似和我现在的需求不符合,我需要的是在不同的Linux用户下推送不同的git账户,而不是在同一个Linux用户下推送不同的git
⑤该方式有错误
SSH方式不知为何,在我的云主机上,只有当次设置有效,重新打开终端连接云服务器(云服务器没有重启)SSH就会失效。在我的Linux用户目录下以及我朋友的用户目录下都出现了这个问题!
如果你也出现了这个问题,请直接使用4.5提到的账户密码方式,而不是SSH????跳转到4.5的gitconfig
2.克隆远程仓库
使用mkdir 文件夹名
创建一个文件夹,CD
进去后,克隆我们的远程仓库
git clone 远程仓库的ssh链接
因为现在我们配置的是SSH方式,所以要使用SSH链接而不是https
克隆成功后,cd
进入该目录,git status
查看git仓库当前状态,应该是up-to-date的。
3.上传代码
随便创建一个新的文件,测试能否正常PUSH到远程仓库
这部分设计到git命令行操作,如果你不会,可以搜几篇git的博客学习一下
git add 文件夹 #添加需要上传的文件路径
git commit -m "输入push信息" #git push的信息
git push #和远程仓库同步
因为我们没有设置用户名和邮箱,所以出现了下面的报错
用下面的两行命令,可以单独设置当前仓库的用户邮箱和用户名
git config user.email "you@example.com"
git config user.name "Your Name"
同时我们需要用下面的这个命令,设置让git默认push到当前分支上
git config --global push.default current
再次测试git push
,成功!