在网络和社区的帮助下,我找到了如何在我的Mac - MacOS Monterey上配置2个不同的Bitbucket账户。
假设您有2个Bitbucket帐户,用户名分别为username1和username12。
- 打开终端并为两个用户名创建2个ssh文件:
ssh-keygen -f ~/.ssh/username1-Bitbucket
ssh-keygen -f ~/.ssh/username2-Bitbucket
- 启动ssh-agent:
eval $(ssh-agent)
- 创建或编辑~/.ssh/config文件:
创建:
touch ~/.ssh/config
open ~/.ssh/config
编辑:
open ~/.ssh/config
~/.ssh/config文件应如下所示:
Host username1-Bitbucket
HostName bitbucket.org
User username1
IdentityFile ~/.ssh/username1-Bitbucket
Host username2-Bitbucket
HostName bitbucket.org
User username2
IdentityFile ~/.ssh/username2-Bitbucket
Host *
UseKeychain yes
AddKeysToAgent yes
PreferredAuthentications publickey
IdentityFile ~/.ssh/username1-Bitbucket
IdentityFile ~/.ssh/username2-Bitbucket
IdentitiesOnly yes
PreferredAuthentications keyboard-interactive,password
- 将密钥添加到ssh-agent:
ssh-add --apple-use-keychain ~/.ssh/username1-Bitbucket
ssh-add --apple-use-keychain ~/.ssh/username2-Bitbucket
- 复制ssh密钥并将其添加到您的Bitbucket帐户中。请参见链接:
pbcopy < ~/.ssh/username1-Bitbucket.pub
pbcopy < ~/.ssh/username1-Bitbucket.pub
- 检查是否连接到Bitbucket成功(至少一个),以便将Bitbucket添加为已知主机:
ssh -T git@bitbucket.org
使用ssh克隆您的存储库,并在终端中将cd更改到仓库文件夹。
检查存储库的远程url:
git remote -v
你会得到像这样的信息:
git@bitbucket.org:companyUserName/repositoryName.git
- 更改存储库的远程url:
git remote set-url origin username1@username1-Bitbucket:username1/repositoryName.git
git remote set-url origin username2@username2-Bitbucket:username2/repositoryName.git
所以我们把git@bitbucket.org:companyUserName/repositoryName.git
更改为username1@username1-Bitbucket:username1/repositoryName.git
git
-> username1
或username2
,帐户的用户名。
bitbucket
-> username1-Bitbucket
或username2-Bitbucket
,配置文件的主机别名。
companyUserName
-> 这是持有存储库的帐户的用户名,在我们的情况下,存储库归属于username1或username2。
repositoryName
-> 存储库的名称。
- 在两个存储库上测试您的连接,创建新分支并尝试推送它:
git checkout -b newBranch
git push origin newBranch
如果两个存储库都正常工作,则完成!
希望这个解决方案适用于每个Mac用户。
就这样吧!
user.name
与您的Bitbucket帐户无关。根据Git文档:“user.name:要记录在任何新创建的提交中的全名。可以被GIT_AUTHOR_NAME和GIT_COMMITTER_NAME环境变量覆盖。请参见git-commit-tree(1)。”您的问题是什么,您想实现什么目标? - Attila Szeremi