如何以不同的用户身份自动连接到 Bitbucket 以获取不同的回购协议?
How can I automatically connect to Bitbucket as different users for different repos?
我目前在工作和个人项目中都使用 Bitbucket。问题是我有两个不同的 Bitbucket 用户登录以访问和提交我用于工作的存储库和我用于个人项目的存储库。
我将一个 SSH 密钥对用于工作存储库,将另一个 SSH 密钥对用于我的个人存储库。但是,当我 运行 以下命令时,我总是看到我以我的工作用户身份登录到 Bitbucket:
ssh -vT git@bitbucket.com
因此,我无法从命令行从我的个人 Bitbucket 存储库中推送或拉取。我如何设置我的回购协议,以便它始终自动推送和拉取工作回购协议作为我的工作 Bitbucket 用户和个人回购协议作为我的个人 Bitbucket 用户?谢谢。
执行此操作的方法是结合在给定 git 存储库中找到的 unqiue $HOME/.ssh/config
文件和 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
.
我目前在工作和个人项目中都使用 Bitbucket。问题是我有两个不同的 Bitbucket 用户登录以访问和提交我用于工作的存储库和我用于个人项目的存储库。
我将一个 SSH 密钥对用于工作存储库,将另一个 SSH 密钥对用于我的个人存储库。但是,当我 运行 以下命令时,我总是看到我以我的工作用户身份登录到 Bitbucket:
ssh -vT git@bitbucket.com
因此,我无法从命令行从我的个人 Bitbucket 存储库中推送或拉取。我如何设置我的回购协议,以便它始终自动推送和拉取工作回购协议作为我的工作 Bitbucket 用户和个人回购协议作为我的个人 Bitbucket 用户?谢谢。
执行此操作的方法是结合在给定 git 存储库中找到的 unqiue $HOME/.ssh/config
文件和 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
.