TortoiseGit保存用户身份验证/凭据


286

有办法GITHUB's user credentials用TortoiseGit 保存吗?

每当我执行推/拉操作时,都会提示我以下对话框。

我想将用户凭据信息保存在某个地方,就像我对TortoiseSVN所做的那样。

在此处输入图片说明



您还可以使用凭据管理器来保存/管理凭据。stackoverflow.com/a/31782500/730676
user730676 '18 -10-11

Answers:


351

对于TortoiseGit 1.8.1.2或更高版本,有一个GUI可以打开/关闭凭据助手。

它支持git-credential-wincredgit-credential-winstore

TortoiseGit 1.8.16添加了对git-credential-manager(Git Credential Manager的继任者git-credential-winstore)的支持

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

要使用:右键单击→TortoiseGit→设置→Git→凭据。选择凭据助手:wincred-仅此存储库/ wincred-当前的Windows用户

在此处输入图片说明


40
整齐。现在如何使用它?
BlueRaja-Danny Pflughoeft13年

16
右键单击-> TortoiseGit->设置-> Git->凭据。选择凭据助手:wincred - this repository only/wincred - current Windows user
linquize 2013年

33
否,您必须首先启用凭据助手。首次同步时,要求您输入用户名和密码,然后输入它们,它们将被保存到Windows凭据存储中。下次您同步时,它不会询问用户或密码。
2013年

7
注意:如果您的用户名包含@!,则此方法无效。至少对我来说,这也是一个报告的bug:github.com/msysgit/msysgit/issues/258
OschtärEi

5
对于TortoiseGit 1.8.16及更高版本,请安装Windows版Git凭据管理器-github.com/Microsoft/Git-Credential-Manager-for-Windows-然后按照上述说明进行操作。GCM还处理Cygwin / babun中git的问题,这很好。
DrStrangepork '16

68

如果您要否决这个答案

我是在TortoiseGit中加入git-credential之前几个月写的。考虑到最近几年发现的大量安全漏洞以及我对网络安全的了解,我强烈建议您为连接到的每台服务器使用唯一的(最低2048位RSA)SSH密钥。

以下语法仍然可用,尽管当今有许多更好的工具可用,例如git-credential公认的答案可以告诉您如何使用。改为这样做。


试着改变远程URL到https://username@github.com/username/repo.git哪里username是你的GitHub用户名和repo为您的存储库的名称。

如果您还想存储密码(不建议使用),则URL如下所示:https://username:password@github.com/username/repo.git

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


在哪里可以看到远程URL?在设置->远程->网址为空。但是,当我第一次克隆时,我给出了git url
Murali Murugesan 2012年

2
单击“远程”菜单中的“来源”以调出URL
Robert Rouhani 2012年

我认为这是工作,但无法核实,因为我得到“混帐不退出干净(退出代码128)”
穆拉利MURUGESAN

糟糕,从旧示例中提取了该URL。快速浏览一下我的一个存储库,该URL实际上应该是:https://username@github.com/username/repo.git其中的两个实例username都是您的用户名。更新了答案。
罗伯特·鲁哈尼

1
这样可以更快,更简单地解决问题:stackoverflow.com/questions/8846972/tortoisegit-asking-password
ShloEmi 2013年

25

使用git版本1.8.3.msysgit.0和TortoiseGit 1.8.4.0时,以上答案均不适用于我。

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

将电子邮件地址用作回购URL的一部分也无法正常工作,因为该软件似乎对URL中“ @”字符的重复出现感到困惑。

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

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

    [credential]
        helper = !'C:\\Users\\yourlogin\\AppData\\Roaming\\GitCredStore\\git-credential-winstore.exe'
  • 在“网络”或“凭据”下不需要其他TortoiseGit设置。特别是:由于这些配置行,“凭据”(Credential)下的“凭据助手”(Credential helper)下拉菜单将变为空白,因为TortoiseGit无法识别新的助手。不要将下拉菜单设置为另一个值,否则全局.gitconfig将被错误的值覆盖!(*)

您现在可以开始了:

  • 尝试从远程存储库中提取。您会注意到一个身份验证弹出窗口,询问您的用户名和密码,该弹出窗口在外观上应与默认的TortoiseGit弹出窗口不同。这是一个好兆头,意味着winstore行之有效。输入正确的身份验证,拉取将成功。
  • 再次尝试相同的请求,将不再要求您输入用户名和密码。

做完了!在进行winstore身份验证的同时,享受与远程仓库的交互。

(*)另外,如果您不喜欢TortoiseGit凭据设置帮助器下拉菜单中的空白选项,则可以使用“高级”选项:

  • 转到“ TortoiseGit>设置>凭据”
  • 选择凭据助手“高级”
  • 单击助手下的“ G”(对于全局)
  • 输入如下的帮助程序路径。注意:常规的Windows路径符号(例如“ C:\ Users ...”)在这里不起作用,您必须复制winstore在全局中创建的安装的确切行,.gitconf而无需使用“ helper =”位。

    !'C:\\Users\\yourlogin\\AppData\\Roaming\\GitCredStore\\git-credential-winstore.exe'
    
  • 点击“添加/保存”按钮


你为我指明了正确的方向。只需使用“ wincred-当前Windows用户”并输入用户名而不是电子邮件地址即可。一切都解决了。
拉兹

我很高兴它帮助您走上了正轨!但是,就我而言,这一点与电子邮件地址的使用完全有关。它包含一个“ @”,如果您尝试其他食谱之一,则会导致问题。
Patrick Atoon

2
嗯,%40是'@'的代码,因此,如果您尝试' myEmail%40gmail.com@github.com/username/repo.git ',则可以将您的电子邮件地址放入.config仍然不推荐,但是,有可能的。
汤姆·帕迪拉

这是正确的方法。从Microsoft / Git-Credential-Manager-for-Windows / releases下载安装程序,然后右键单击该setup.exe文件,然后以admin身份运行。


8

使用TortoiseGit保存用户名和密码

在TortoiseGit中保存登录详细信息非常容易。无需在每次拉动或推入操作时都输入用户名和密码。

  1. 创建一个名为_netrc的文件,其内容如下:

    机器github.com
    登录yourlogin
    密码yourpassword

  2. 将文件复制到C:\ Users \(或其他位置;这恰好是我放置的位置)

  3. 转到命令提示符,键入setx home C:\ Users \

注意:如果使用Windows 7之前的版本,则setx命令可能对您不起作用。请改用set,然后通过“我的电脑”下的“高级设置”将家庭环境变量添加到Windows。

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


2
那是最好的解决方案!但是您能解释_netrc文件和git之间的关系吗?该文件可以存储多个领域吗?
亚历克斯·伯斯


8

如果您是Windows 10 + TortoiseGit 2.7用户:

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

如果您更改了Windows密码,并且Git身份验证不再起作用,这就是您要寻找的答案...在德语Windows中,搜索“ Anmeldeinformationsverwaltung”。
安德烈(Andre)

天哪,谢谢。我知道我们不应该用谢谢添加评论。但是谢谢!
Stephen Hazel

6

尝试这个:

  1. 进入您的仓库文件夹
  2. 右键单击空白的Tortise Git->设置
  3. 获得凭证(通常位于Git菜单下的侧栏中)
  4. 在凭据帮助器中,选择Wincred,所有Windows用户
  5. 点击申请

它只会要求您输入一次密码。


请使用术语“ TortoiseGit”。

0

转到项目仓库,右键单击->'Git Bash Here'

在git bash窗口中键入

cd ~
pwd

我得到这样的东西

/c/Users/<windows_username>

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

C:\Users\<windows_username>\.ssh

我在那里有以下文件

id_rsa
id_rsa.pub
known_hosts

这里

现在,无论何时需要使用凭据,它都会使用这些文件,并在需要时提示输入密码。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.