我正在使用 GitHub。我创建了一个存储库并将其克隆到我的 Ubuntu 机器上。 我已在
.netrc
文件中输入如下条目:
machine https://github.com/xxx/yyy.git
login xxx
xxx
我希望 Git 在
.netrc
文件中输入此条目后不会询问我的用户名和密码。但即使在此之后,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://[email protected]/yourLogin/yourRepo
请参阅“Git - 如何在 Windows 上使用 .netrc 文件来保存用户和密码”,了解凭证“netrc”助手的一般原理(Git 1.8.3+)。
正如 @sschuberth 提到的,删除协议 http:// 或 https:// 对我有用
当我的令牌过期后,它不断要求输入用户名和密码时,我遇到了同样的问题,所以我必须做的是使用新令牌从头开始编写新的.netrc文件 并覆盖旧的。之后,它工作得很好,这是在 Ubuntu 22.04.3 LTS