GitHub多人协同项目ssh推送出现Key already in use问题处理

需求

​ 今天在多人协同项目中发现,有部分小伙伴无法成功推送,一直提示:

Error: Key already in useThis error occurs when you try to add a key,
that's already been added to another account or repository

问题描述

​ 检查发现用户已经在本地git中配置了一个 ssh公钥项目,使用该公钥会导致在GitHub中绑定失败,重新创建公钥会影响其他项目推送:

问题原因

机器A当前的公钥是user1的,user2没有权限使用;想在user2的账户中添加user1的公钥?也是不可能的,会提示公钥已经被使用。

解决方案

  • 在user2的项目目录中打开命令行,执行命令:ssh-keygen -t rsa -C "mail@exam.com" -f ~/.ssh/id_rsa_for_user2,生成专属user2的密钥对,再进入user2的github账户将公钥配置完成。
  • ~/.ssh/目录下新建config文件,写入以下内容:
#Default GitHub
Host user1
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa

Host user2
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_for_user2
  • 回到命令行,执行命令:$ git remote set-url origin user1:user1Name/repositorie1Name.git,修改默认的关联。也可以把原有的默认关联删除,重新添加。
  • 再继续执行命令:$ git remote add origin2 user2:user2Name/repositorie2Name.git,新添加一个user2的关联。
  • 此时执行命令:$ git remote -v,应是以下结果:
origin2  user2:user2Name/repositorie2Name.git (fetch)
origin2  user2:user2Name/repositorie2Name.git (push)
origin  user1:user1Name/repositorie1Name.git (fetch)
origin  user1:user1Name/repositorie1Name.git (push)
  • 验证。可分别执行命令:$ ssh -T user1$ ssh -T user2,均出现连接成功提示,实现了多个SSH公钥连接多个github远程仓库的需求。
Hi user1! You've successfully authenticated,
 but GitHub does not provide shell access.
Hi user2! You've successfully authenticated, 
but GitHub does not provide shell access.
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
GitHub多人协同开发是指多个程序员通过GitHub平台共同参与一个项目的开发过程。这种协同开发方式可以提高团队的工作效率和代码质量。具体来说,GitHub提供了一系列的功能和工具来实现多人协同开发: 1. 组织(organization):GitHub的组织是一个集合了多个团队和成员的实体。组织可以创建和管理多个仓库,并为不同团队分配不同的权限。 2. 团队(team):团队是组织下的一个子单位,用于将成员分组并赋予不同的权限。通过创建团队,可以更好地管理协同开发过程中的权限控制和人员分工。 3. 成员(member):成员是指参与协同开发的个人。GitHub可以通过邀请成员加入组织或特定仓库,成员可以根据自己被分配的权限对代码进行修改和提交。 4. 仓库(repository):仓库是存储代码和项目文件的地方。在一个仓库中,多个成员可以同时进行代码的编辑和提交,通过版本控制功能可以确保代码的一致性和可追溯性。 在进行GitHub多人协同开发时,通常遵循以下几个步骤: 1. 创建仓库:一个项目通常对应一个仓库,可以通过GitHub网站或命令行工具创建一个新的仓库。 2. 邀请协作者:在仓库设置中,可以邀请其他程序员加入协同开发。通过邀请协作者,可以共享代码并允许其修改和提交。 3. 分支管理:每个开发者可以创建自己的分支,在分支上独立开发和测试。通过分支管理可以避免多人同时修改同一份代码造成冲突,保证开发进度和代码质量。 4. 提交代码:开发者在自己的分支上完成开发后,可以将代码提交到主分支或请求合并。其他开发者可以对代码进行审核和评审,确保代码的质量和规范。 总结起来,GitHub提供了一套完善的工具和功能,使得多人协同开发变得更加高效和可控。通过合理的权限管理、分支管理和代码审核,可以确保团队的协同开发顺利进行。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [github多人协作开发项目教程,2021新版。](https://blog.csdn.net/qq_45804132/article/details/118669698)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [3. github---多人协作开发流程](https://blog.csdn.net/weixin_47505105/article/details/122893403)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值