首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Git不要求用户名

Git不要求用户名
EN

Stack Overflow用户
提问于 2013-10-29 09:48:59
回答 2查看 6.4K关注 0票数 7

为了方便起见,我在我的~/..git/config文件中放置了这样的内容:

代码语言:javascript
运行
复制
url = https://MYUSERNAME@github.com/COMPANY/PROJECT.git

这种方式,git只要求密码在拉/推。但是现在更多的人不得不推拉,所以我们认为这也会让git询问用户名:

代码语言:javascript
运行
复制
url = https://github.com/COMPANY/PROJECT.git

但是git现在没有任何要求,这是git拉的一个示例结果:

错误:请求的URL在访问https://github.com/COMPANY/PROJECT.git/info/refs时返回错误: 403 致命: HTTP请求失败

如何强制git按预期要求提供用户名和密码?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-05-26 10:15:33

我现在在一些不同的服务器上工作,我注意到这个问题影响到git 1.7.0.4,而不是新的1.7.9.5。因此,如果可能的话,任何遇到同样问题的人都应该升级他们的git。

@jszakmeister建议询问git邮件列表,但是在阅读了这个堆栈溢出线程这个github页面之后,我认为没有意义,如果没有一个很好的解决方案,它看起来就像是一个已知的问题。Github说,他们推荐的是git 1.7.10,在堆叠溢出讨论中的人提出了一些并不能真正解决我问题的建议。因此,我想唯一的选择是更新你的git -让我们考虑解决方案和这个问题的答案。

票数 4
EN

Stack Overflow用户

发布于 2013-10-29 10:25:41

您使用的是凭据助手吗?git config --get credential.helper展示了什么?如果它显示了什么,那么该信息可能是由凭据助手缓存的。消除它的一种方法是:

代码语言:javascript
运行
复制
printf "protocol=https\nhost=github.com\npath=COMPANY/PROJECT.git\nusername=MYUSERNAME\n\n" |
    git credential fill

它会提示您输入密码,然后它不会以特定的形式缓存。它可能是在没有.git的情况下缓存的:

代码语言:javascript
运行
复制
printf "protocol=https\nhost=github.com\npath=COMPANY/PROJECT\nusername=MYUSERNAME\n\n" |
    git credential fill

您可以使用以下方式删除凭据:

代码语言:javascript
运行
复制
printf "protocol=https\nhost=github.com\npath=COMPANY/PROJECT.git\nusername=MYUSERNAME\n\n" |
    git credential remove

或者,如果网址上没有“.git”:

代码语言:javascript
运行
复制
printf "protocol=https\nhost=github.com\npath=COMPANY/PROJECT\nusername=MYUSERNAME\n\n" |
    git credential remove

注意,这两个命令和上面的命令之间唯一的区别是,git credential fill变成了git credential remove。另外,如果您发布了来自git credential fill命令的任何数据,请确保隐藏您的用户名和密码。

如果所有这些都没有帮助,您可能需要查看您的~/.gitconfig。您可能设置了一些credential.<url>块,如这个手册页中所述。或者,您可以使用它来更改用户名。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19654723

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档