Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git.netrc文件身份验证问题_Git_Github_.netrc - Fatal编程技术网

Git.netrc文件身份验证问题

Git.netrc文件身份验证问题,git,github,.netrc,Git,Github,.netrc,我正在使用GitHub。我创建了一个存储库,并在我的Ubuntu机器上克隆了它。 我在.netrc文件中输入了如下内容: machine https://github.com/xxx/yyy.git login xxx xxx 我希望Git在.netrc文件中输入此项后不会要求我输入用户名和密码。但Git甚至在这之后也会提示输入凭据 我遗漏了什么吗?在Windows上,~/.netrc(或%HOME%\\u netrc)文件不够 你需要 将文件复制到$PATH/%PATH%中的任意位置 加

我正在使用GitHub。我创建了一个存储库,并在我的Ubuntu机器上克隆了它。 我在
.netrc
文件中输入了如下内容:

machine https://github.com/xxx/yyy.git
login xxx
xxx
我希望Git在
.netrc
文件中输入此项后不会要求我输入用户名和密码。但Git甚至在这之后也会提示输入凭据

我遗漏了什么吗?

在Windows上,
~/.netrc
(或
%HOME%\\u netrc
)文件不够

你需要

  • 将文件复制到
    $PATH
    /
    %PATH%
    中的任意位置

  • 加:

      cd yourRepo
      git config credential.helper "netrc -d -v"
    
(工作后可以删除
-d
-v
:这些是调试标志)

  • 在远程URL中使用您的登录名:

      git set-url origin https://yourLogin@github.com/yourLogin/yourRepo
    

有关凭据“netrc”帮助程序(Git 1.8.3+)的一般原理,请参见“”。

为什么您希望Git提供此类功能?Git默认情况下,每次您提出推送或拉送请求时都会提示输入用户名和密码。为了避免这种情况,您可以在.netrc文件中创建一个条目。我认为这是一个很好的解决方案,但我有一些安全问题。您将用户名和密码放入计算机上的一个文件中,大多数人都可以读取该文件。这里更好的选择是使用SSH密钥并将SSH密钥放入SSH代理中。@ckruczek我知道,我同意你的看法!我自己只使用gpg2加密的netrc文件:请参阅。相同的凭证助手,但使用gpg加密。