如何在一台电脑上管理多个 github 账号?
前言
对大多数开发者来说,有时候需要在同一台机器上管理多个 GitHub 账户。例如在以下场景中,我们就需要使用到 GitHub 多账户管理技巧。
白天作为一名员工,为您所在的公司工作,你所在的公司使用 GitHub 企业版或另一个 GitHub 账号(例如work@company.com)管理内部私有仓库,你需要在此账号下提交代码。
晚上在个人账号下修复自己的开源项目。你拥有一个个人 GitHub 账号(例如personal@example.com),用于托管自己的开源项目、学习实验或兼职项目。
此场景下,多账号管理是兼顾职业与个人开发的必要需求。并达到权限分离,隐私保护以及合规要求。
权限分离:公司仓库可能需要严格的访问控制,禁止使用个人账号提交代码。
隐私保护:个人项目与工作项目需完全隔离,避免误操作或信息泄露。
合规要求:企业可能要求使用公司邮箱和账号签署贡献者协议(CLA)。
生成 SSH 密钥
1 |
|
SSH密钥配置
为每个账号生成独立的SSH密钥,并在~/.ssh/config中指定不同仓库使用不同密钥。
1 |
|
这是为了避免每次进行 Git 推送时都要输入用户名和密码的麻烦, 我们需要将 GitHub 账户信任我们创建的密钥。
为本地仓库设置 git remote url,user 信息
一旦我们克隆/创建了本地的 Git 仓库,确保 Git 配置的用户名和电子邮件正是你想要的。GitHub 会根据提交(commit)描述所附的电子邮件 ID 来识别任何提交的作者。
要列出本地 Git 目录中的配置名称和电子邮件,请执行 git config user.name 和 git config user.email。如果没有找到,可以进行添加。
修改本地仓库的.git/config文件,确保remote url,user 信息是正确的
对于公司项目:
1 |
|
对于个人项目:
1 |
|
测试
使用git commit检查commit log中的用户信息是否正确,使用git push 尝试push代码到github 代码仓库,检查是否有权限push代码以及commit中包含的用户信息是否正确。
到此我们以及完成github多账号管理的设置工作!
依据正确的主机,添加或更新的本地 Git 目录的 Git remote,选择正确的 SSH 密钥来验证我们的身份。有了以上这些,我们的 git 操作应该可以无缝运行了。
参考文档
如何在一台电脑上管理多个 github 账号?
https://pengtech.net/git/manage_multiple_github_accounts_on_a_host.html