有没有一种方法来保存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

对于msysgit 1.8.0,请从https://github.com/downloads/msysgit/git/git-credential-wincred.zip下载git-credential-wincred.exe并放入C:\Program Files\Git\libexec\git-core

对于msysgit 1.8.1及以上版本,exe是内置的。

在git配置中,添加以下设置。

(证书) Helper = wincred

对于TortoiseGit 1.8.1.2或更高版本,有一个GUI来打开/关闭凭据帮助器。

它支持git-credential-wincred和git-credential-winstore。

TortoiseGit 1.8.16增加了对Git - Credential - Manager的支持(Git Credential Manager, Git - Credential -winstore的后续版本)

当你第一次同步时,你会被要求输入用户名和密码,输入后它们会被保存到Windows凭据存储中。下次同步时,它不会询问用户或密码。

使用方法:右键单击→TortoiseGit→Settings→Git→Credential。选择凭据帮助器:wincred -仅此存储库/ wincred -当前Windows用户

保存用户名和密码与TortoiseGit

在TortoiseGit中保存登录信息非常简单。省去了每次拉或推时输入用户名和密码的麻烦。

创建一个名为_netrc的文件,包含以下内容: 机器github.com 登录yourlogin 密码yourpassword 将文件复制到C:\Users\(或其他位置;这恰好是我放的地方) 进入命令提示符,输入setx home C:\Users\

注意:如果你使用的是Windows 7之前的版本,setx命令可能不适合你。请使用set,并通过“我的电脑”下的“高级设置”将家庭环境变量添加到Windows。

信贷: http://www.munsplace.com/blog/2012/07/27/saving-username-and-password-with-tortoisegit/

使用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”按钮

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

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

配置用户名和密码

去项目回购, 点击右键-> 'Git Bash Here'

在git bash windows类型中

cd ~
pwd

得到这样的结果

/c/Users/<windows_username>

现在将您的公钥和私钥复制到此路径

C:\Users\<windows_username>\.ssh

我得到了下面的文件

id_rsa
id_rsa.pub
known_hosts

here

现在,当它需要使用凭据时,它使用这些文件并在需要时提示输入密码。

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

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

我将Git for Windows升级到最新的64位(2.30.0),现在可以正常工作了。 从url https://git-scm.com/download/win获取最新版本,并运行下面的命令进行验证。 $ git——版本 $ git 2.30.0.windows.1

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

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

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