如何以不同用户的身份自动连接到 Bitbucket 以获取不同的存储库? [复制]
Posted
技术标签:
【中文标题】如何以不同用户的身份自动连接到 Bitbucket 以获取不同的存储库? [复制]【英文标题】:How can I automatically connect to Bitbucket as different users for different repos? [duplicate] 【发布时间】:2021-02-02 20:36:38 【问题描述】:我目前正在将 Bitbucket 用于工作和个人项目。问题是我有两个不同的 Bitbucket 用户登录以访问并提交我用于工作的存储库和用于我的个人项目的存储库。
我将一个 SSH 密钥对用于工作存储库,将另一个 SSH 密钥对用于我的个人存储库。但是,当我运行以下命令时,我总是看到我以我的工作用户身份登录到 Bitbucket:
ssh -vT git@bitbucket.com
因此,我无法从命令行推送或拉取我的个人 Bitbucket 存储库。如何设置我的存储库,以便它始终自动推送和拉取工作存储库作为我的工作 Bitbucket 用户和个人存储库作为我的个人 Bitbucket 用户?谢谢。
【问题讨论】:
不同的 gitconfig 文件? matt,你能说得更具体点吗?每个 repo 都有自己的gitconfig
文件,但是,当我尝试从我的个人 repo 中推送或拉取时,我收到 Forbidden
错误。我正在设置遥控器和一切。
基本上,我从本地仓库运行git init
。然后,我运行git remote add origin git@bitbucket.org:personal-bitbucket-user-name/personal-bitbucket-repo-name.git
,然后运行git push -u origin master
,但最后一个总是失败。 SSH 公钥也已经在我个人账户的 BB 中了。
***.com/…
【参考方案1】:
执行此操作的方法是将 unqiue $HOME/.ssh/config
文件和在给定 git 存储库中找到的 reponame/.git/config
文件结合起来。
您的$HOME/.ssh/config
文件如下所示。
username@hostname:~$ cat ~/.ssh/config
Host bbmine
HostName bitbucket.org
User git
IdentityFile /home/username/.ssh/id_rsamine
Host bbwork
HostName bitbucket.org
User git
IdentityFile /home/usermname/.ssh/id_rsawork
在您的 git 存储库中的文件 reponame/.git/config
中,您将放置一个如下所示的远程部分:
[remote "bbmineremote"]
url = bbmine:bitbucketusername/reponame.git
fetch = +refs/heads/*:refs/remotes/bitbucket/*
然后你可以像这样推拉树枝
git push bbmineremote master
或
git pull bbmineremote master
您可以通过运行以下 ssh 命令确认您已正确设置
username@hostname:~$ ssh bbmine
PTY allocation request failed on channel 0
logged in as bitbucketusername
You can use git or hg to connect to Bitbucket. Shell access is disabled
Connection to bitbucket.org closed.
.ssh/config
文件中的这些Host
部分有点像使用ssh
的任何内容的别名,例如git
。
【讨论】:
OregonTrail,非常感谢您的回答。我最终使用了这个答案和上面链接的其他 SO 线程 (***.com/…) 的组合,因为我不想每次收到 git push 或 pull 时都必须输入别名。git push bbmine master
不是指 ssh 主机,而是指 git 远程,如果您将远程设置为您正在处理的任何给定分支的跟踪分支,那么您可以像往常一样运行git pull
和git push
。
明白了!感谢您的跟进。我明白了。
我更新了答案以澄清这一点
查看***.com/questions/520650/… 了解如何使分支跟踪特定远程以上是关于如何以不同用户的身份自动连接到 Bitbucket 以获取不同的存储库? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
如何让 ms-access 以其他用户身份连接到 ms-sql?
如何以通过 ed25519 识别的用户身份使用 MYSQL Workbench 连接到 MariaDB (10.5.8)?
是否可以使用 PEM 文件以 root 用户身份连接到 ec2 实例?