我刚刚开始研究Git。我使用Windows 7并安装了msysgit(1.7.8)和Tortoisegit(1.7.6)。 存储库在Linux服务器上创建,可通过LAN访问。我面临的问题是我无法使用Tortoisegit克隆存储库,它要求输入密码,我不确定它要求的密码。 同时我可以使用Git Gui克隆存储库并执行所有操作。 任何人都可以帮助我理解为什么当Git Gui没有时,Tortoisegit会问密码。 我尝试卸载Git和Tortoisegit然后重新安装但没有成功。
答案 0 :(得分:122)
我的同事解决了这个问题。步骤进行:
C:\Program Files\TortoiseGit\bin\TortoisePlink.exe
C:\Program Files (x86)\Git\bin\ssh.exe
替代路径:C:\Users\...\AppData\Local\Programs\Git\usr\bin\ssh.exe
答案 1 :(得分:23)
如果您需要使用用户名/密码,那么解决方案比目前的#2答案简单得多:
Right-click --> Tortoise Git --> Settings --> Git --> Credential --> Choose "Wincred, all Windows users" --> Hit apply
下次输入回购密码时,该密码将自动保存。
如果您使用的是需要SSH密钥的存储库而不是用户名/密码(听起来像OP的原始问题),则需要
Right-click --> Tortoise Git --> Settings --> Git --> Remotes
。找到您的远程(通常是“origin”),然后从步骤2加载PuTTY密钥。答案 2 :(得分:19)
没有钥匙就可以做到......
右键单击您的文件夹
选择tortoiseGit-> settings-> Git-> Remote
选择原点(或标记主遥控器的任何内容)
在网址下使用此格式。
Https://USERNAME:PASSWORD@URL
其中
USERNAME是您的用户名
:冒号分隔用户名和密码,必须在那里
密码是您的密码
@将凭据与您的网址分开
URL是您用于连接.git资源的URL
谢谢Kamaci
答案 3 :(得分:13)
使用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/
答案 4 :(得分:4)
一种方法是
plink与peagent本机工作以检索加载的密钥。
您可以在标准腻子分发中找到plink.exe以及peagent和其他好东西
使用它去:
TortoiseGit设置 - >网络 - > SSH客户端。
默认情况下,它包含TortoisePlink.exe的路径,而不是提供plink.exe的路径
或者你可以在msys(git)发行版中使用ssh(.exe),但是你不能使用.ppk格式/ Peagent组合的私钥。您需要通过PuttyGen将密钥导出为OpenSSH格式,或者使用ssh-keygen创建密钥对。
答案 5 :(得分:3)
要自动验证,请使用:
显然,除非回购不重要,否则不要将密码存储在文本文件中。
TortoiseGit> 1.8.1安装帮助程序git-credential-winstore,它提供本地API,以便在现有的本地Windows Credential Store中访问和存储您的登录信息。
您可以通过转到控制面板→用户帐户→凭据管理器并选择“Windows凭据”来查看存储的凭据。以“git:”开头的条目来自git-credential-winstore。
您可以通过以下方式设置每个存储库的wincred:
(GUI)
(CLI,POSH)
cmdkey /add:git:https://USERNAME@github.com /user:USERNAME /pass:PASSWORD
@"
[credential]
helper = wincred
"@ | Out-File -FilePath $repoRoot\.git\config -Append
您可以使用cmdkey /list:git:*
列出为repos存储的所有凭据
存储后,cmdkey(http://ss64.com/nt/cmdkey.html)
要列出所有带密码的凭据,您需要使用Windows API。对于powershell,有CredMan:
. .\CredMan.ps1
.\CredMan.ps1 -ShoCred
答案 6 :(得分:2)
URL和窗口标题TortoisePlink都表明乌龟正在尝试使用ssh作为传输协议。 git支持多种传输协议,包括文件系统访问和ssh访问。在您的问题中,您描述的是您希望通过文件系统访问来访问远程仓库。在这种情况下,您的远程网址应该类似于file://server/path/to/repo
。请再次检查您的远程回购网址。
答案 7 :(得分:2)
我有同样的问题。 我的环境是使用TortoiseGit 2.3.0.0和git版本2.11.0.windows.1
的Windows 10以下解决了我的问题:
答案 8 :(得分:2)
我做了什么来解决这个问题(windows):
答案 9 :(得分:0)
不幸的是,在我的使用Windows 8的计算机上,重新设置SSH客户端的解决方案无法正常工作。解决问题的解决方案是:http://www.munsplace.com/blog/2012/07/27/saving-username-and-password-with-tortoisegit/
答案 10 :(得分:0)
由于此处提供的解决方案没有为我工作,并且在很多人对我在网上找到的解决方案感到失望后,我终于设法在我的机器上解决了这个问题。
我不知道何时或如何设置我的TortoiseGit putty总是使用一个特定的密钥,当然,当我尝试使用新的密钥连接到不同的服务器时,这会产生所有问题。
那么如何解决问题以及如何判断你是否真的遇到了与我相同的问题:
plink.exe
plink.exe
plink -v <path_to_your_git_clone_repo_link>
Reading private key file "C:\Path\To\Some\privateKey.ppk"
ppk
文件,之后它应该输出类似{{1}的内容我们实际上想要这个就是这样,如果有人知道如何禁用这个“全局默认腻子键”,请在评论中告诉我,我会用信息更新这个答案。
答案 11 :(得分:0)
Pramodtech的回答停止使用当前版本的官方Windows Git客户端为我工作。它现在将ssh可执行文件存储在Git\usr\bin
而不是Git\bin
中(从2015年8月发布的版本2.5开始)。
所以转到TortoiseGit > Settings > Network
并将SSH客户端路径更改为:
C:\Program Files\Git\usr\bin\ssh.exe
(或者Git安装的路径是什么)
答案 12 :(得分:0)
请注意,repo远程源的URL不会导致此问题。我有一个完美的旧回购和一个我刚刚克隆的新回购,它要求我输入密码。
通过比较Settings > Git > Remote > Url
中的信息,我看到工作的信息有:
git@github.com:githubAccount/repoName.git
无法使用的新地址有https
地址。
请参阅下面的截图。
答案 13 :(得分:0)
Tortoise GIT DOS命令行在我将私钥和公钥放入C:\ Users \ .ssh目录后停止询问我的密码。我在Windows 7上。
答案 14 :(得分:0)
有同样的问题。在我的情况下,我没有密码可以进入那里。连接配置为SSH,但没有为repo定义密钥。
结帐:check documentation。这些说明适用于cloudforge,但对于其他服务,您必须执行相同操作,只需将您的公钥提供给您的git存储库提供程序。
答案 15 :(得分:0)
我今天也遇到了类似的问题,并且能够从https://git-scm.com/download/win安装最新版本的git来解决它