luk*_*z21 2 windows git logging cmd
有没有一种快速的方法可以在 Windows 上的 cmd 中注销并使用不同的帐户重新登录 git?我试过:
git config --global --unset user.name
git config --global --unset user.mail
git config --global --unset credential.helper
Run Code Online (Sandbox Code Playgroud)
所以我知道我应该使用 old_user_name 注销?然后我用了:
git config --global user.name "new_user_name"
git config --global user.email "new_email"
git push origin master
Run Code Online (Sandbox Code Playgroud)
我做了一次按摩:
远程:old_user_name 对 new_user_name/new_repo.git 的权限被拒绝。致命:无法访问'https://github.com/new_user_name/new_repo.git/':请求的URL返回错误:403
这意味着我仍然使用旧帐户登录。我还可以做些什么?
和user.name设置user.email不是任何方式、形状或形式的登录。(这里的credential.helper设置很有用,但仅仅取消设置可能是不对的。)
每当您进行新提交(例如,通过运行git commit)时,Git 需要知道要在新提交中放入什么用户名和电子邮件地址。Git 通过当时的阅读user.name和获取这些。这就是它们的全部用途:在新的提交user.email中设置这些。1
当您运行时git push,您确实(通常是2 个)需要进行身份验证,以便将新提交发送到其他某个Git存储库。 Git 不执行此身份验证。 Git 依赖其他程序来完成它。这些其他计划包括:
Web 服务器,通过httpsURL:在这里,Git 必须将用户名和密码或 PAT 或其他一些秘密发送到Web 服务器。Git 从以下位置获取这些内容:
一般来说,正确的方法是使用凭证助手。请参阅gitcredentials 文档以及适用于您的特定 Git 安装的特定凭证帮助程序。方法 #1 的问题在于,任何查看您计算机的人都可以在 URL 中看到密码;方法#3 的问题是显而易见的。
取消设置凭据帮助程序将为您提供系统的默认设置。这可能不是最好的做法。对于 Windows 系统,请参阅从 Git 中删除凭据,特别是此处 VonC 的答案。
Secure Shell (SSH):在这里,Git 只是运行命令ssh。如今,Windows 系统自带了自己的 ssh 命令,而 Git-for-Windows 也自带了自己的 ssh 命令,因为较旧的 Windows 系统要么完全缺乏 ssh,要么提供的版本不足,因此在 Windows 系统上,您必须确保配置并使用正确的 ssh(无论您的安装是什么)。
由于您使用的是https://URL,因此您需要设置您的凭证系统。如果您想使用ssh://URL,请设置 ssh。
1请注意,它git rebase的工作原理是将现有提交复制到新的提交和(据称/预期)改进的提交,因此这也使用这些设置:它正在进行新的提交。
2人们可以建立一个完全开放的匿名网络,任何人都可以随时推送任何内容,但这些网络太容易被滥用,因此在实践中没有人这样做。