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

Mur*_*san 278 git github tortoisegit

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

每当我进行推/拉时,它每次都会提示我下面的对话框.

我想保存我的用户凭据信息,就像我使用TortoiseSVN一样.

在此输入图像描述

lin*_*ize 342

对于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→凭据.选择Credential helper:wincred - 仅此存储库/ wincred - 当前Windows用户

在此输入图像描述

  • 整齐.现在我该如何使用它? (37认同)
  • 不,您必须先启用凭据帮助程序.第一次同步时,系统会要求您输入用户名和密码,然后输入它们并将其保存到Windows凭证存储区.下次同步时,它不会要求用户或密码. (33认同)
  • 右键单击 - > TortoiseGit - >设置 - > Git - > Credential.选择Credential helper:`wincred - 此存储库只有`/`wincred - 当前Windows用户` (15认同)
  • 注意:如果您的用户名包含"@",则无效!至少对我来说,这也是一个报道的错误:https://github.com/msysgit/msysgit/issues/258 (7认同)
  • 对于TortoiseGit 1.8.16及更高版本,请安装适用于Windows的Git Credential Manager - https://github.com/Microsoft/Git-Credential-Manager-for-Windows - 然后按照上述说明操作.GCM还处理Cygwin/babun中git的信誉,这很好. (4认同)
  • 因为它只保存用户名而不是密码 (2认同)
  • 请注意出现 wincred 选项时出现的任何问题:我必须使用右下角的按钮启用管理模式的设置。它没有显示在屏幕截图中。一旦我这样做了,它就保存了我的密码。在此之前它只保存我的用户名。 (2认同)

Rob*_*ani 65

如果你打算回答这个问题

我在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 (2认同)

Pat*_*oon 25

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

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

使用电子邮件地址作为repo URL的一部分也不起作用,因为该软件似乎被URL中"@"字符的双重外观所混淆.

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

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

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

你现在准备好了:

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

完成!享受与远程仓库的互动,同时winstore负责身份验证.

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

  • 转到"TortoiseGit>设置>凭据"
  • 选择Credential helper"Advanced"
  • 单击Helpers下的"G"(全局)
  • 输入Helper路径,如下所示.注意:常规Windows路径表示法(例如"C:\ Users ...")在此处不起作用,您必须复制winstore在全局中创建的安装的确切行,.gitconf而不使用"helper ="位.

    !'C:\\Users\\yourlogin\\AppData\\Roaming\\GitCredStore\\git-credential-winstore.exe'
    
    Run Code Online (Sandbox Code Playgroud)
  • 单击"添加新/保存"按钮

  • 嗯,%40是'@'的代码,所以如果您尝试'https://myEmail%40gmail.com@github.com/username/repo.git',您将能够将您的电子邮件地址放在.config中不推荐,但有可能. (2认同)

Den*_*ang 17

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

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


lin*_*ize 8

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

对于msysgit 1.8.1及更高版本,exe是内置的.

在git config中,添加以下设置.

[credential] helper = wincred


小智 8

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

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

配置用户名和密码


Ant*_*ane 7

使用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/

  • 那是最好的解决方案!但是您能解释_netrc文件和git之间的关系吗?该文件可以存储多个领域吗? (2认同)