我安装了git,它在命令提示符下工作得很好,但是当我打开powershell时它给了我这个警告:
WARNING: Could not find ssh-agent
Run Code Online (Sandbox Code Playgroud)
我有选美运行并加载了我的私钥.这适用于所有gui工具和命令提示符,但不适用于Powershell.
这是怎么回事?
Tar*_*nin 137
对于那些寻找详细解释的人,请阅读此博客文章.以下是博客文章的引用.最终ssh-agent.exe需要在路径上,或以其他方式解决.
编辑: 似乎大多数人都不打扰阅读链接的博客,原始摘录没有引用完整的解决方案,所以我扩展了以下博客的引用.
基于对所有其他答案的喜欢,有许多方法可以解决错误.下面引用一个已知的工作方法.扫描其他答案可能更适合您.
当我重新启动PowerShell提示时,它告诉我它无法启动SSH代理.
事实证明,它无法找到"ssh-agent.exe"可执行文件.该文件位于C:\ Program Files(x86)\ Git\bin中.但msysgit不会自动将该文件夹添加到您的PATH中.
如果您不想将此路径添加到系统PATH,则可以更新PowerShell配置文件脚本,使其仅适用于PowerShell会话.这是我所做的改变.
$ env:path + =";" +(Get-Item"Env:ProgramFiles(x86)").Value +"\ Git\bin"
在我的机器上脚本位于:C:\ Users\Haacked\Documents\WindowsPowerShell\Microsoft.Powershell_profile.ps1
bri*_*ary 53
您可以在个人资料的顶部添加两行(类型ise $profile)来修复此PoshGit问题,而不会污染您的路径.然后运行. $profile以重新加载您的个人资料.
Set-Alias ssh-agent "${env:ProgramFiles(x86)}\git\bin\ssh-agent.exe"
Set-Alias ssh-add "${env:ProgramFiles(x86)}\git\bin\ssh-add.exe"
Run Code Online (Sandbox Code Playgroud)
Set-Alias ssh-agent "$env:ProgramFiles\git\usr\bin\ssh-agent.exe"
Set-Alias ssh-add "$env:ProgramFiles\git\usr\bin\ssh-add.exe"
Run Code Online (Sandbox Code Playgroud)
Kha*_*meh 17
我想到了.您需要GIT_SSH在机器上设置环境变量以指向plink.exe.这可能是与TortoiseHg/TortoiseGit/Git Extensions一起安装的,或者您可以从Putty下载页面下载,但只需确保您使用相同的系统范围.最好从Windows会话中注销,以确保为所有Explorer实例和命令窗口设置此变量.
Ahm*_*med 17
如果您正在使用posh-git并收到此警告,您可以通过注释(添加"#"符号)以下行来关闭它
Start-SshAgent -Quiet
Run Code Online (Sandbox Code Playgroud)
在文件中
Documents\WindowsPowerShell\Modules\posh-git\profile.example.ps1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
28914 次 |
| 最近记录: |