我正在使用GitHub。我创建了一个仓库并在我的Ubuntu机器上克隆了它。我已经在.netrc
文件中做了以下条目:
machine https://github.com/xxx/yyy.git
login xxx
xxx
我希望在.netrc
文件中添加这个条目后,Git不再要求我输入用户名和密码。但是即使这样做了,Git仍然提示我输入凭据。
我有什么地方没做对吗?
~/.netrc
文件(在Windows上为%HOME%\_netrc
)不足以保护您的信息安全。
最好使用gpg
+ netrc
对该文件进行加密,就像我在这里所做的那样。
或者使用一个管理加密的脚本。
在第二种情况下,您需要:
将git-credential-netrc.perl
文件复制到$PATH
/%PATH%
中的任何位置,
添加:
cd yourRepo
git config credential.helper "netrc -d -v"
(一旦工作正常,您可以删除-d
和-v
:这些都是调试标志)
在远程URL中使用您的登录信息:
git set-url origin https://yourLogin@github.com/yourLogin/yourRepo
参见“Git - 如何在Windows上使用.netrc文件保存用户名和密码”获取凭据“netrc”助手(Git 1.8.3+)的一般原理。
git config credential.helper "netrc -d -v"
中使用了 -v
。我应该省略它。 - sschuberth.netrc
文件是不够的。 - sschuberth正如 @sschuberth 所提到的,删除协议 http:// 或 https:// 对我有用。
machine
应该只是主机名,没有任何协议或路径。因此,在您的情况下只需使用github.com
。在.netrc
中,除了主机名之外,没有更细粒度的登录定义。 - sschuberth