我刚开始使用Git。我使用Windows 7并安装了msysgit(1.7.8)和Tortoisegit(1.7.6)。 该存储库创建在Linux服务器上,通过局域网可访问。 我遇到的问题是无法使用Tortoisegit克隆存储库,它要求输入密码,但我不确定它要求的是什么密码。 同时,我可以使用Git Gui克隆存储库并执行所有操作。 请问有谁能帮助我理解为什么Tortoisegit会询问密码而Git Gui则不会呢? 我尝试卸载Git和Tortoisegit,然后重新安装,但没有成功。
我刚开始使用Git。我使用Windows 7并安装了msysgit(1.7.8)和Tortoisegit(1.7.6)。 该存储库创建在Linux服务器上,通过局域网可访问。 我遇到的问题是无法使用Tortoisegit克隆存储库,它要求输入密码,但我不确定它要求的是什么密码。 同时,我可以使用Git Gui克隆存储库并执行所有操作。 请问有谁能帮助我理解为什么Tortoisegit会询问密码而Git Gui则不会呢? 我尝试卸载Git和Tortoisegit,然后重新安装,但没有成功。
我的同事解决了这个问题。步骤如下:
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
C:\Program Files\Git\usr\bin\ssh.exe
- 对于Git 2.37.3ssh.exe
位于我的用户目录下C:\ Users \ ... \ AppData \ Local \ Programs \ Git \ usr \ bin
。 - ppasler为了在没有密钥的情况下完成它...
右键单击您的文件夹
选择tortoiseGit->settings->Git->Remote
选择origin(或者您已经标记过的主要远程)
在URL下使用此格式。
Https://用户名:密码@URL
其中:
用户名是您的用户名
:冒号分隔用户名和密码,必须存在
密码是您的密码
@将凭据与您的url分开
URL是连接到.git资源所使用的url
感谢Kamaci的贡献。
使用TortoiseGit保存用户名和密码
在TortoiseGit中保存登录凭据非常容易。这样可以避免每次进行拉取或推送时都要输入用户名和密码。
创建名为_netrc的文件,内容如下:
machine github.com
login yourlogin
password yourpassword
将该文件复制到C:\ Users \(或其他位置;这仅是我放置它的地方)
进入命令提示符,键入setx home C:\Users\
注意:如果您使用的是早于Windows 7的操作系统,则setx命令可能无法正常工作。请改用set命令,并通过“我的电脑”下的高级设置将home环境变量添加到Windows中。
来源: http://www.munsplace.com/blog/2012/07/27/saving-username-and-password-with-tortoisegit/
从仓库内→上下文单击→TortoiseGit→设置→Git→凭据→wincred→确定
,然后你就完成了。我为那些感兴趣的人写了一个完整的答案。 - adam要自动化身份验证,请使用以下方法之一:
显然,除非存储库不重要,否则不要将密码存储在文本文件中。
TortoiseGit >1.8.1 安装了助手 git-credential-winstore,该助手提供了访问和存储您的登录信息的本地API,存储在现有的本地Windows凭据存储中。
您可以通过转到 控制面板 → 用户帐户 → 凭据管理器 并选择“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:*
列出存储在仓库中的所有凭据。. .\CredMan.ps1
.\CredMan.ps1 -ShoCred
一种实现此目的的方法是:
plink能够与peagent原生协作,以检索已加载的密钥。
您可以在标准putty分发版中找到plink.exe和peagent等其他工具。
要使用它,请转到:
TortoiseGit设置 -> 网络 -> SSH客户端。
默认情况下,其中包含TortoisePlink.exe的路径,而不是该路径,请提供plink.exe的路径。
或者,您可以在msys(git)发行版中使用ssh(.exe),但这样做无法使用.ppk格式/Peagent组合中的私钥。您需要通过PuttyGen将您的密钥导出到OpenSSH格式中,或者改用ssh-keygen创建密钥对。
我是如何解决这个问题的(Windows):
URL和窗口标题TortoisePlink都表明海龟正在尝试使用ssh作为传输协议。git支持多种传输协议,包括文件系统访问和ssh访问。在您的问题中,您描述了您想通过文件系统访问访问远程repo。在这种情况下,您的远程URL应该类似于file://server/path/to/repo
。请再次检查您的远程repo URL。