使用不同的用户名/帐户进行 git 克隆

问题描述 投票:0回答:5

如何使用与我之前使用的帐户不同的帐户来

clone
git
上的存储库?

例如,我可能一直使用一个帐户来克隆一个存储库,现在我需要访问另一个只有不同帐户才能访问的存储库。

感谢您的帮助

git clone
5个回答
77
投票

如果您通过 https 克隆,您可以执行类似的操作

git clone https://[email protected]/username/repository.git

这将提示您输入密码。

您也可以直接拨打电话提供密码

git clone https://username:[email protected]/username/repository.git

但请注意,在这种情况下,密码将保存在 .git/config 和您的 bash 历史记录中,这是不安全的。 如果您不喜欢每次都输入密码,您应该考虑通过 ssh 克隆。


26
投票

我尝试了上述解决方案,但似乎对密码身份验证的支持已于 2021 年 8 月 13 日删除。

解决方案是使用您可以在

Settings -> Developer Settings -> Personal access tokens
中生成的个人访问令牌。

之后:

git clone https://username:[email protected]/username/repository.git

1
投票

Github 于 2021 年 8 月 13 日删除了对密码身份验证的支持。如果您想使用 HTTPS 克隆,请按照以下说明操作。

当您在命令行上使用 HTTPS URL git clone、git fetch、git pull 或 git push 到远程存储库时,Git 会询问您的 GitHub 用户名和密码。当 Git 提示您输入密码时,请输入您的个人访问令牌 (PAT)。 Git 的基于密码的身份验证已被删除,取而代之的是更安全的身份验证方法。有关更多信息,请参阅“创建个人访问令牌。” 或者,您可以使用凭证助手,例如 Git Credential Manager

参考:Github 页面 使用 HTTPS 克隆


0
投票

如果您有多个具有相同版本控制系统的帐户,您可以将 ssh 配置文件设置为使用不同的身份文件,如下所示:

例如:您已在 .ssh 文件夹中创建了两个身份(Windows:C:\Users\{yourUserName}\.ssh,Linux/MAC:~/.ssh),名称如下,

  • “个人”(用于个人 bitbucket、github 或任何其他帐户)和
  • 'work'(适用于您的办公室 bitbucket、github 或任何其他帐户)

您可以更新 .ssh 文件夹中的配置文件,如下所示,

# Global options
Host *
  # Always only use specified identities, do not fall back to
  # everything found in ssh-agent.
  IdentitiesOnly yes

# Repeat following for each context
## When in "personal" context directory, use "personal" ssh key for bitbucket.org or github.com
Host personal
    HostName bitbucket.org
    IdentityFile ~/.ssh/personal

## When in "work" context directory, use "work" ssh key for bitbucket.org or github.com
### Of course, other hosts that require this context
### can be added as well, just using the host name
Host bitbucket.org
 IdentityFile ~/.ssh/work

一旦您从个人版本控制系统(bitbucket或github或其他任何东西)克隆任何项目,

对于个人:

确保使用“个人”作为主机名。

git clone git@personal:mypersonalworkspace/myproject.git

而不是

git clone [email protected]:mypersonalworkspace/myproject.git

对于工作:

对于工作项目,您可以继续使用

git clone [email protected]:myofficeworkspace/myproject.git

-1
投票

如果您的设备已添加该账户的 ssh-key,您可以在 ssh-add 之后尝试此操作。

git clone git@<account_username>:<repo_username>/repository.git

希望这能有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.