Tortoisegit问密码

pra*_*ech 78 git version-control tortoisegit

我刚开始研究Git.我使用Windows 7并安装了msysgit(1.7.8)和Tortoisegit(1.7.6).存储库在Linux服务器上创建,可通过LAN访问.我面临的问题是我无法使用Tortoisegit克隆存储库,它要求输入密码,我不确定它要求的密码.同时我可以使用Git Gui克隆存储库并执行所有操作.任何人都可以帮助我理解为什么当Git Gui没有时,Tortoisegit会问密码.我尝试卸载Git和Tortoisegit然后重新安装但没有成功.

Tortoisegit错误

pra*_*ech 124

我的同事解决了这个问题.脚步:

  1. 右键单击 - > TortoiseGit - >设置 - >网络
  2. SSH客户端指向 C:\Program Files\TortoiseGit\bin\TortoisePlink.exe
  3. 改变了路径 C:\Program Files (x86)\Git\bin\ssh.exe

替代路径: C:\Users\...\AppData\Local\Programs\Git\usr\bin\ssh.exe

  • 这对我不起作用,我还能尝试什么? (9认同)
  • 正如@ppasler所提到的,ssh.exe现在位于C:\ Program Files(x86)\ Git\usr\bin\ssh.exe或他提到的位置,具体取决于安装. (6认同)
  • 谢谢,做得很好。虽然我的ssh.exe位于用户目录C:\ Users \ ... \ AppData \ Local \ Programs \ Git \ usr \ bin` (2认同)

Blu*_*eft 28

如果您需要使用用户名/密码,那么有一个比当前#2答案简单得多的解决方案:

Right-click --> Tortoise Git --> Settings --> Git --> Credential --> Choose "Wincred, all Windows users" --> Hit apply

下次输入回购密码时,将自动保存该密码.


如果您使用的是需要SSH密钥而不是用户名/密码的存储库(这听起来像是OP的原始问题),那么您需要

  1. 在PuTTY gen中打开SSH密钥(与Tortoise Git一起安装)
  2. 在PuTTY gen中,将密钥保存为PuTTY密钥.
  3. 在存储库中Right-click --> Tortoise Git --> Settings --> Git --> Remotes.找到你的遥控器(通常是'origin'),然后从步骤2加载PuTTY键.

  • 这是最短最清晰的答案,谢谢. (3认同)

小智 20

要做到没有钥匙......

右键单击您的文件夹
选择tortoiseGit-> settings-> Git-> Remote
选择原点(或您标记为主遥控器的任何内容)

在URL下使用此格式.

Https://USERNAME:PASSWORD@URL

USERNAME是您的用户名
:冒号分隔用户名和密码,必须在那里
PASSWORD是您的密码
@分隔凭证与您的网址
URL是您用来连接.git资源的网址

感谢Kamaci

  • 此解决方案也适用于密钥.克隆Https:// USERNAME @ URL,你很好. (3认同)
  • 是的,除了不这样做,因为当你做合并时,TortoiseGit倾向于将*whole*URL放入提交消息中! (2认同)
  • 如果密码中包含@符号怎么办? (2认同)

Ant*_*ane 14

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


sil*_*ver 6

我遇到过同样的问题。我的环境是带有 TortoiseGit 2.3.0.0 和 git 版本 2.11.0.windows.1 的 windows 10

以下解决了我的问题:

  • 右键单击 -> TortoiseGit -> 设置 -> 网络
  • 更新 SSH 客户端到 C:\Program Files\Git\usr\bin\ssh.exe

在此处输入图片说明


mzz*_*zzb 5

一种方法是

  • 使用PuttyGen生成密钥对,(或者如果已经有了密钥,则导入.ppk)
  • 将私钥加载到peagent
  • 将公共密钥导入到gitosis服务器(将公共密钥提供给管理员)
  • 然后使用plink作为SSH客户端

plink与peagent一起本机工作,以检索已加载的密钥。

您可以在标准腻子分发中找到plink.exe以及peagent和其他好东西

使用它去:

TortoiseGit设置->网络-> SSH客户端。

默认情况下,它包含TortoisePlink.exe的路径,而不是给plink.exe的路径

或者,您可以在msys(git)发行版中使用ssh(.exe),但随后不能使用.ppk格式/ Peagent组合的私钥。您要么需要通过PuttyGen将密钥导出为OpenSSH格式,要么使用ssh-keygen创建密钥对。


ada*_*dam 5

要自动进行身份验证,请使用:

  1. 其他人已经指出的 SSH 密钥,或者
  2. 内置凭证助手。

显然,除非 repo 不重要,否则不要将密码存储在文本文件中。

TortoiseGit >1.8.1 安装助手git-credential-winstore,它提供本地 API 来访问和存储您的登录信息在现有的本地Windows Credential Store 中

您可以通过转到控制面板 → 用户帐户 → 凭证管理器并选择“Windows 凭证”来查看存储的凭证。以“git:”开头的条目来自 git-credential-winstore。

您可以通过以下方式为每个存储库设置 wincred:

(图形用户界面)

  1. 在文件资源管理器中导航到存储库。
  2. 上下文单击 → TortoiseGit → 设置 → Git → 凭证
  3. 凭证助手:wincred - 仅此存储库
  4. 下次您使用 repo 进行身份验证时,凭据将被存储。

(CLI, POSH)

  1. cmdkey /add:git:https://USERNAME@github.com /user:USERNAME /pass:PASSWORD
  2.  

    @"
    [credential]
            helper = wincred
    "@ | Out-File -FilePath $repoRoot\.git\config -Append
    
    Run Code Online (Sandbox Code Playgroud)

您可以使用cmdkey /list:git:*
存储后,cmdkey 不显示密码 ( http://ss64.com/nt/cmdkey.html )列出为 repos 存储的所有凭据

要列出带密码的所有凭据,您需要使用Windows API。对于 powershell,有CredMan

. .\CredMan.ps1
.\CredMan.ps1 -ShoCred
Run Code Online (Sandbox Code Playgroud)