我刚刚开始研究Git。我使用Windows 7,并安装了msysgit(1.7.8)和Tortoisegit(1.7.6)。该存储库在可通过LAN访问的Linux服务器上创建。我面临的问题是我无法使用Tortoisegit克隆存储库,它要求输入密码,而且不确定要输入什么密码。同时,我可以使用Git Gui克隆存储库并执行所有操作。有人可以帮我了解为什么当Git Gui不要求Tortoisegit询问密码时。我尝试卸载Git和Tortoisegit,然后再次安装,但没有成功。
我刚刚开始研究Git。我使用Windows 7,并安装了msysgit(1.7.8)和Tortoisegit(1.7.6)。该存储库在可通过LAN访问的Linux服务器上创建。我面临的问题是我无法使用Tortoisegit克隆存储库,它要求输入密码,而且不确定要输入什么密码。同时,我可以使用Git Gui克隆存储库并执行所有操作。有人可以帮我了解为什么当Git Gui不要求Tortoisegit询问密码时。我尝试卸载Git和Tortoisegit,然后再次安装,但没有成功。
Answers:
我的同事解决了这个问题。脚步:
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
ssh.exe
谎言在我的用户目录C:\Users\...\AppData\Local\Programs\Git\usr\bin
如果您需要使用用户名/密码,那么有比当前第二个答案简单得多的解决方案:
Right-click --> Tortoise Git --> Settings --> Git --> Credential --> Choose "Wincred, all Windows users" --> Hit apply
下次输入存储库密码时,该密码将自动保存。
如果您使用的是需要SSH密钥而不是用户名/密码的存储库(这听起来像是OP的原始问题),则需要
Right-click --> Tortoise Git --> Settings --> Git --> Remotes
。找到您的遥控器(通常是“原始”),然后从步骤2中加载PuTTY密钥。不用钥匙就能做...
右键单击您的文件夹
选择tortoiseGit-> settings-> Git-> Remote
Select原点(或标有主遥控器的任何原点)
在URL下使用此格式。
Https://用户名:PASSWORD @ URL
其中USERNAME是您的用户名
:冒号分隔用户名和密码,并且必须在其中
PASSWORD是您的密码
@用
URL分隔凭据URL URL是用于连接到.git资源的URL。
感谢Kamaci
使用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/
From within repo → Context-click → TortoiseGit → Settings → Git → Credential → wincred → OK
您完成了。我为有兴趣的人写了一个完整的答案。
一种方法是
plink与peagent一起本机工作,以检索已加载的密钥。
您可以在标准腻子分布中找到plink.exe以及peagent和其他好东西
使用它去:
TortoiseGit设置->网络-> SSH客户端。
默认情况下,此路径包含TortoisePlink.exe的路径,而不是该路径提供plink.exe的路径
或者,您可以在msys(git)发行版中使用ssh(.exe),但随后您不能使用.ppk格式/ Peagent组合的私钥。您要么需要通过PuttyGen将密钥导出为OpenSSH格式,要么使用ssh-keygen创建密钥对。
要自动进行验证,请使用:
显然,除非存储库不重要,否则不要将密码存储在文本文件中。
TortoiseGit> 1.8.1安装辅助程序git-credential-winstore,该助手提供本地API来访问您的登录信息并将其存储在现有的本地Windows Credential Store中。
您可以通过以下方法查看存储的凭据:转到控制面板→用户帐户→凭据管理器,然后选择“ Windows凭据”。以“ git:”开头的条目来自git-credential-winstore。
您可以通过以下方式为每个存储库设置wincred:
(图形用户界面)
(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:*
“存储”列出所有为存储库存储的凭据,一旦存储,cmdkey不会显示密码(http://ss64.com/nt/cmdkey.html)
要列出所有带有密码的凭据,您需要使用Windows API。对于powershell,有CredMan:
. .\CredMan.ps1
.\CredMan.ps1 -ShoCred
URL和窗口标题TortoisePlink都表明乌龟正在尝试使用ssh作为传输协议。git支持多种传输协议,包括文件系统访问和ssh访问。在您的问题中,您所描述的是要通过文件系统访问来访问远程回购。在这种情况下,您的远程网址应类似于file://server/path/to/repo
。请再次检查您的远程仓库URL。
不幸的是,在装有Windows 8的计算机上,重新指向SSH客户端的解决方案不起作用。为我解决了问题的解决方案在这里:http : //www.munsplace.com/blog/2012/07/27/saving-username-and-password-with-tortoisegit/
由于这里提供的所有解决方案都不适合我,并且在对解决方案感到失望之后,我在网上找到了,我终于设法将其修复在我的机器上。
我不知道何时或如何将TortoiseGit油灰设置为始终使用一个特定的密钥,并且当我尝试使用新的密钥对连接到其他服务器时,这当然会引起所有问题。
因此,如何解决问题以及如何确定您是否确实遇到了与我相同的问题:
plink.exe
从这里下载到您的机器上plink.exe
plink -v <path_to_your_git_clone_repo_link>
Reading private key file "C:\Path\To\Some\privateKey.ppk"
ppk
文件,之后它应该输出类似的内容,Pageant is running. Requesting keys.
而我们实际上希望这样做就是这样,如果有人知道如何禁用此“全局默认油灰键”,请在评论中让我知道,我将使用信息更新此答案。
有同样的问题。就我而言,没有密码可以输入。该连接已配置为SSH,但没有为回购定义任何密钥。
签出:TortoiseGIT SSH配置。这些说明适用于cloudforge,但是对于其他服务,您必须执行相同的操作,只需将您的公共密钥提供给git存储库提供程序即可。
我今天刚刚遇到类似的问题,并且能够从https://git-scm.com/download/win安装最新版本的git来修复它