使用.netrc与SourceForge和Git

时间:2015-02-11 13:59:50

标签: git sourceforge

我知道,这似乎是一个初学者的问题,但事实并非如此。我正在成功使用.netrc文件和所有Git存储库,除了SourceForge上的文件。

我似乎无法在SF文档中找到任何内容。

我基本上将这些行添加到我的.netrc中,但它仍然要求我输入密码:

 machine git.code.sf.net
 login xxxxx
 password xxxxx

 machine api.git.code.sf.net
 login xxxxx
 password xxxxx

我尝试了所有其他可以想到的变化,但我无法使其发挥作用。那里有人做过吗?怎么样?

1 个答案:

答案 0 :(得分:0)

您可以尝试在.netrc文件中添加协议(考虑Git HTTPS URL for SourceForgehttps://<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

  
      
  1. SourceForge使用SSH或HTTPS进行读/写访问。
  2.   
  3. 如果您使用的是SSH,我会以任何方式确认.netrc :它仅用于为HTTPS URL提供用户名/密码,而不是用于SSH密码。   对于SSH密码,(假设您的私有SSH密钥受密码保护),您需要ssh-agent,而不是.netrc文件。
  4.   

要切换到HTTPS:

git remote set-url origin https://<USERNAME>@git.code.sf.net/p/PROJECTNAME/MOUNTPOINT

然后 .netrc文件将被curl中的git push使用。