github支持多个账户

cyvaqqii  于 12个月前  发布在  Git
关注(0)|答案(2)|浏览(209)

我正在使用GitHub CLI
到目前为止,我能够用它来列出我们公司的回购公关。
问题是当我尝试通过gh pr checkout 123结账时,其中123是PR编号。
当我这样做时,我得到这个错误:

[email protected]: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
exit status 128

字符串
显示错误是因为它试图使用[[email protected]](https://stackoverflow.com/cdn-cgi/l/email-protection)。但我不使用[[email protected]](https://stackoverflow.com/cdn-cgi/l/email-protection),因为我在GitHub上有多个帐户。所以我将我的.ssh/config设置为:

Host github.com-companyA
    HostName github.com
    User git
    IdentityFile ~/.ssh/companyA

Host github.com-companyB
    HostName github.com
    User git
    IdentityFile ~/.ssh/companyB


我认为解决方案是将[[email protected]](https://stackoverflow.com/cdn-cgi/l/email-protection)修改为[[email protected]](https://stackoverflow.com/cdn-cgi/l/email-protection) :foo/bar.git
但是我不知道在哪里可以使用GitHub CLI修改它。
我的最终目标是检出PR,在本地机器上运行一些测试,然后标记PR是否通过。
我可以使用git来处理项目,没有任何问题。我可以很好地推送和拉取。只是我想自动检查GitHub上PR的分支。我无法控制我的团队为他们的分支命名。
PS我正在工作的公司使用不同的技术,两家公司每天都有多个PR。我只是想有一种方法可以自动测试多个PR,这样我就不必一个接一个地做。两家公司也都使用GitHub Actions

vptzau2j

vptzau2j1#

我找到解决办法了
gh pr list有一个标志:
-R, --repo [HOST/]OWNER/REPO Select another repository using the [HOST/]OWNER/REPO format
这将列出所有的PR沿着和分支名称,然后我可以使用grep来获得分支名称。

0kjbasz6

0kjbasz62#

2023年12月:GitHub CLI gh v2.40.0确实包括...多帐户支持
它反映了2023年11月宣布的“Multi-account support on GitHub.com”。
参见“Switching between accounts“。
关于gh
感谢Gabe Cook ( @gabe565 )在此long requested feature -- issue 326中努力支持gh-profile extension的多帐户功能!️
此版本侧重于几个特定的用例:

  • 使用gh auth login为GitHub.com和GitHub Enterprise添加多个帐户
  • gh auth switch中使用ghgit的帐户之间手动切换
  • 使用gh auth status查看多个帐户
  • 使用gh auth logout注销帐户

未来的增强功能,如基于上下文的自动帐户切换和更多的自动Git配置将根据社区反馈进行规划。
有关此版本中多帐户支持的详细信息以及对尖锐边缘的讨论,请参阅此文档。
请在我们的release discussion中提供反馈。
所以你现在(2023年12月)有:

GitHub CLI (gh v2.40.0)
                                       │
          ┌────────────────────────────┴─────────────────────────────┐
          │                                                          │
          ▼                                                          ▼
    gh auth login (CompanyA)                               gh auth login (CompanyB)
    gh auth switch --account CompanyA                      gh auth switch --account CompanyB
    gh pr checkout, gh issue/pr commands                gh pr checkout, gh issue/pr commands
          │                                                          │
          └────────────────────────────┬─────────────────────────────┘
                                       │
                              GitHub.com Repositories

字符串

相关问题