有没有一种方法来保存GITHUB的用户凭证与TortoiseGit?

每当我做推/拉操作时,它都会提示我下面的对话框。

我想把我的用户凭证信息保存在某个地方,就像我用TortoiseSVN做的那样。


当前回答

如果你要投反对票的话

我是在TortoiseGit中包含git-credential的几个月前写的这篇文章。鉴于过去几年发现的大量安全漏洞以及我对网络安全的了解,我强烈建议您为连接的每个服务器使用唯一的(至少2048位RSA) SSH密钥。

下面的语法仍然可用,尽管现在有更好的工具可用,如git-credential,接受的答案告诉您如何使用。那就这样做吧。


尝试将远程URL更改为https://username@github.com/username/repo.git,其中用户名是您的github用户名,repo是您的存储库的名称。

如果您还想存储您的密码(不推荐),URL看起来像这样:https://username:password@github.com/username/repo.git。

还有另一种方法来存储这篇github帮助文章中的密码:https://help.github.com/articles/set-up-git#password-caching

其他回答

如果你是windows 10 + TortoiseGit 2.7用户:

第一次登录时,只需按照提示输入您的凭据并保存密码。 如果你需要更新你的凭证,不要在TortoiseGit设置上浪费时间。相反,windows搜索>凭据管理> windows凭据>找到你的git条目>编辑。

使用git版本1.8.3.msysgit,上述答案都不适用。0和TortoiseGit 1.8.4.0。

在我的特殊情况下,我必须通过HTTPS连接到远程git回购,使用完整的电子邮件地址作为用户名。 在这种情况下,wincred似乎不起作用。

使用电子邮件地址作为回购URL的一部分也不起作用,因为软件似乎被URL中双重出现的“@”字符所迷惑。

我确实设法克服了使用winstore的问题。以下是我所做的:

从http://gitcredentialstore.codeplex.com/下载winstore 运行git-credential-winstore.exe进行安装。

这将复制git-credential-winstore.exe到本地目录,并在全局的.gitconfig中添加两行。您可以通过检查全局的.gitconfig来验证这一点。这是最简单的通过鼠标右键在文件夹,“TortoiseGit > Settings > Git > Edit global .gitconfig”。该文件应该包含如下两行:

    [credential]
        helper = !'C:\\Users\\yourlogin\\AppData\\Roaming\\GitCredStore\\git-credential-winstore.exe'

在“网络”或“凭据”下不需要其他TortoiseGit设置。特别是:由于这些配置行,“Credential”下的“Credential helper”下拉菜单将变成空白,因为TortoiseGit不识别新的帮助。不要将下拉菜单设置为另一个值,否则全局的.gitconfig将被一个不正确的值覆盖!(*)

你现在已经准备好了:

尝试从远程存储库中提取。你会注意到一个身份验证弹出窗口询问你的用户名和密码,该弹出窗口在视觉上应该与默认的TortoiseGit弹出窗口不同。这是一个好迹象,意味着winstore工作。输入正确的身份验证,拉取就会成功。 再次尝试相同的拉,您的用户名和密码应该不再被询问。

完成了! 享受您与远程回购的交互,而winstore负责身份验证。

(*)或者,如果你不喜欢TortoiseGit凭证设置助手下拉菜单中的空白选择,你可以使用“高级”选项:

点击“TortoiseGit > Settings > Credential” 选择凭据帮助器“高级” 点击“助手”下的“G”(全局) 输入Helper路径,如下所示。注意:常规的Windows路径表示法(例如。"C:\Users…")将不能在这里工作,你必须复制在全局.gitconf中创建的安装winstore的确切行,不带"helper ="位。 !”C: \ \ \ \ yourlogin \ \ AppData \ \用户漫游\ \ GitCredStore \ \ git-credential-winstore.exe ' 点击“Add New/Save”按钮

如果你要投反对票的话

我是在TortoiseGit中包含git-credential的几个月前写的这篇文章。鉴于过去几年发现的大量安全漏洞以及我对网络安全的了解,我强烈建议您为连接的每个服务器使用唯一的(至少2048位RSA) SSH密钥。

下面的语法仍然可用,尽管现在有更好的工具可用,如git-credential,接受的答案告诉您如何使用。那就这样做吧。


尝试将远程URL更改为https://username@github.com/username/repo.git,其中用户名是您的github用户名,repo是您的存储库的名称。

如果您还想存储您的密码(不推荐),URL看起来像这样:https://username:password@github.com/username/repo.git。

还有另一种方法来存储这篇github帮助文章中的密码:https://help.github.com/articles/set-up-git#password-caching

当更新到Git for Windows 2.35.1.windows时。2从一个旧的主要版本,你可能想做以下事情:

启动Git CMD 执行命令git credential-manager-core configure 这应该会给出这样的响应: 配置组件“Git凭据管理器”… 正在配置组件“Azure Repos提供商”…

现在,当启动下一个Git操作时,Git将只要求您选择一个帐户一次,存储它并在下一个操作中重用它。

[打开 git 设置(TortoiseGit → 设置 → Git)][1]

[在GIt中:点击编辑全局的。gitconfig][2]

配置用户名和密码