如何解决如何以不同用户身份自动连接到Bitbucket,以使用不同的存储库?
我目前正在将Bitbucket用于工作和个人项目。问题是我登录时有两个不同的Bitbucket用户,用于访问和提交用于工作的存储库以及用于个人项目的存储库。
我将一个SSH密钥对用于工作存储库,将另一个SSH密钥对用于我的个人存储库。但是,当我运行以下命令时,总是看到我以工作用户身份登录到Bitbucket:
ssh -vT git@bitbucket.com
结果,我无法从命令行从我的个人Bitbucket存储库中推入或拉出。如何设置我的存储库,以便它始终自动以我的工作Bitbucket用户身份推送和拉出工作存储库,并以我的个人Bitbucket用户身份自动存储和推送个人存储库?谢谢。
解决方法
做到这一点的方法是将给定的git repo中找到的$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.
Host
文件中的这些.ssh/config
部分就像是使用ssh
的事物(例如git
)的别名。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。