我知道,这似乎是一个初学者的问题,但事实并非如此。我正在成功使用.netrc文件和所有Git存储库,除了SourceForge上的文件。
我似乎无法在SF文档中找到任何内容。
我基本上将这些行添加到我的.netrc中,但它仍然要求我输入密码:
machine git.code.sf.net
login xxxxx
password xxxxx
machine api.git.code.sf.net
login xxxxx
password xxxxx
我尝试了所有其他可以想到的变化,但我无法使其发挥作用。那里有人做过吗?怎么样?
答案 0 :(得分:0)
您可以尝试在.netrc文件中添加协议(考虑Git HTTPS URL for SourceForge为https://<USERNAME>@git.code.sf.net/p/PROJECTNAME/MOUNTPOINT
):
machine git.code.sf.net
login <USERNAME>
password xxxxx
protocol https
看看问题是否仍然存在。
确保git remote -v
(对于远程“来源”)返回的网址确实包含您的登录信息:
git remote set-url origin https://<USERNAME>@git.code.sf.net/p/PROJECTNAME/MOUNTPOINT
^^^^^^^^^
如果不起作用,请尝试设置GIT_CURL_VERBOSE
,以获取更多信息(in this thread)。
事实证明OP purplehuman使用的是SSH网址而不是HTTPS网址。
正如我commented below:
- SourceForge使用SSH或HTTPS进行读/写访问。
- 如果您使用的是SSH,我会以任何方式确认
醇>.netrc
不:它仅用于为HTTPS URL提供用户名/密码,而不是用于SSH密码。 对于SSH密码,(假设您的私有SSH密钥受密码保护),您需要ssh-agent
,而不是.netrc
文件。
要切换到HTTPS:
git remote set-url origin https://<USERNAME>@git.code.sf.net/p/PROJECTNAME/MOUNTPOINT
然后 .netrc
文件将被curl
中的git push
使用。