在GitHub上提交代码,几乎是所有开发着都热衷于做的事情。也是团队协作一个非常好的版本控制工具。那么,不可避免的是,我们可能有一个团队的账号,又有自己的一个账号在使用。那么我们怎么在一台电脑上连接上不同GitHub账号呢?在使用过程中,我们会发现会有冲突,只有一个账号能够使用。今天我们就来介绍一下如何避免这种冲突。
废话少说,先看问题。我们在Repos仓库下可以完成正常的提交。
接下来,我们再切换到第二个账号的仓库下,看是否也能够正常的完成提交?可以看到,提示了please make sure you have the correct access rights 。没有操作权限。无法正常在第二个账号的仓库完成提交。
如何来解决这个问题呢。进入ssh文件夹。可以看到我们有两对之前生成的SSH key。SSH key没问题啊,可是它可没那么智能,会帮你自己找对应的地址。那么就需要一个映射文件config来帮忙找亲戚了。
接下来 我们创建一个config文件,写入一些相应的配置。
创建完config文件 我们需要将两个SSH key的密钥加入ssh 的 agent中去。我们先使用ssh-add -D将agent中的先删除,然后再依次添加。
当然,我们在添加过程中 有可能遇到错误 例如 某个SSH key的安全性问题 ,例如
当遇到这个问题时 可以使用命令 chmod go-rw ~/.ssh/id_rsa 来解决掉。不过,我们很顺利,没有遇到这个问题。
通过 ssh-add -l 我们可以查看到加入 agent 当中的SSH key。
紧接着 我们来测试一下 两个账号是否都能够连通Github。先测试git@github.com
再测试git@juliankeji.github.com
那到了这里 是不是可以提交更新了呢。我们在对应的项目下提交 它能帮我们找到正确的GitHub地址么?
哟,可以提交到KingsleyTong账号下的仓库了。那另一个呢?只有另一个也行,今天的任务才算完成,那才叫成功。
哎,结果不尽如人意。还是不行,白高兴一场。那又是什么原因导致的呢。我们接着来看看。我猜想,有可能是push的时候的远程地址不对。来验证一下。
使用git remote -v 我们发现远程线还是 git@github.com 并不是我们设置的 git@juliankeji.github.com,那好,我们把它换掉。使用git remote rm origin 移除,然后添加。
那现在呢?这样足够了么?试一下push,看能不能成功
OK!没问题。成功提交到了juliankeji的账号下了。一番努力没有白费。Hahahahahahahahahah...