gpt4 book ai didi

windows - 在 Windows 终端中的 git 帐户之间切换的简单方法?

转载 作者:行者123 更新时间:2023-12-02 01:54:16 24 4
gpt4 key购买 nike

是否有一种快速方法可以在 Windows 上的 cmd 中使用 git 上的不同帐户注销并重新登录?我尝试过:

git config --global --unset user.name
git config --global --unset user.mail
git config --global --unset credential.helper

所以我明白我应该使用旧用户名注销?然后我用了:

git config --global user.name "new_user_name"
git config --global user.email "new_email"
git push origin master

我做了按摩:

remote: Permission to new_user_name/new_repo.git denied to old_user_name.fatal: unable to access 'https://github.com/new_user_name/new_repo.git/': The requested URL returned error: 403

这意味着我仍然使用旧帐户登录。我还能做什么?

最佳答案

user.nameuser.email 设置不是登录,无论以任何方式、形式或形式。 (credential.helper 设置在这里很有用,但仅仅取消设置可能是不正确的。)

每当您进行提交(例如,通过运行git commit)时,Git 都需要知道要放入的用户名和电子邮件地址 新提交。 Git 当时通过读取 user.nameuser.email 来获取这些信息。这就是它们的全部用途:在新提交中设置这些。1

当您运行 git push 时,您确实(通常2)需要进行身份验证才能发送您对某些其他 Git 存储库的新提交。 Git 不执行此身份验证。Git 依赖其他程序来完成此操作。这些其他计划包括:

  • Web 服务器,通过 https URL:这里,Git 必须将用户名和密码或 PAT 或其他一些 secret 发送到 Web 服务器。 Git 从以下位置获取这些内容:

    1. 网址(如果它们位于网址中);
    2. 一个凭据帮助程序,您可以配置:Windows Git 附带 Windows 特定的凭据帮助程序,macOS Git 附带 macOS 特定的凭据帮助程序,等等;或
    3. 作为最后的手段,从键盘读取用户名和密码。

    通常,正确的方法是使用凭据助手。请参阅the gitcredentials documentation以及可用于您的特定 Git 安装的特定凭证帮助程序。方法 #1 的问题在于,任何查看您计算机的人都可以在 URL 中看到密码;方法 #3 的问题很明显。

    取消凭据帮助程序将为您的系统提供默认。这可能不是最好的做法。对于 Windows 系统,请参阅 Remove credentials from Git特别是VonC's answer here .

  • 安全 Shell (SSH):这里,Git 只是运行 ssh 命令。如今,Windows 系统附带了自己的 ssh 命令,而 Git-for-Windows 也附带了自己的 ssh 命令,因为旧的 Windows 系统要么完全缺乏 ssh,要么提供了不适当的版本,因此在 Windows 系统上,您必须确保配置并使用正确的 ssh(无论您的安装是什么)。

由于您使用的是 https:// URL,因此您需要设置您的凭据系统。如果您希望使用 ssh:// URL,请设置 ssh。


1请注意,git rebase 的工作原理是将现有提交复制到新的提交和(据称/预期)改进的提交,因此这也使用以下设置:进行提交。

2人们可以建立一个完全开放的匿名网络,任何人都可以随时推送任何内容,但这些太容易被滥用,所以在实践中没有人这样做。

关于windows - 在 Windows 终端中的 git 帐户之间切换的简单方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69815020/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com