11

我将 Powershell 设置为通过 Git for Windows 使用 posh-git。在我的个人资料文件中,我有这个:

# If Posh-Git environment is defined, load it.
. (Resolve-Path "$env:LOCALAPPDATA\GitHub\shell.ps1")
. $env:github_posh_git\profile.example.ps1

每次我打开 Powershell 时,它都会请求我的 id_rsa 密钥的密码。这很好,但实际显示请求需要越来越长的时间。当我第一次以这种方式设置它时,它会很快提示通过,但加载时间会随着时间的推移而增加。

有什么建议么?我什至不知道从什么开始研究这个。

4

3 回答 3

6

问题确实是用户环境变量设置缓慢。我最近合并了一个使用临时文件的更改。

最新的 GH4W (1.0.48.0) 包含此更改。

于 2013-06-05T11:42:18.843 回答
3

我将此问题追溯到此:https ://superuser.com/questions/565771/setting-user-environment-variables-is-very-slow

由于 chrome 有许多需要时间来响应的进程,我只是像这样在我的 profile.ps1 中关闭了 Chrome。

$agent = Get-Process -Name ssh-agent -ErrorAction SilentlyContinue
$chrome = Get-Process -Name chrome -ErrorAction SilentlyContinue
$chromepath = $null
if(!$agent -and $chrome){
    Write-Host "Chrome is open, press any key to close"
    $host.UI.RawUI.ReadKey() | out-null
    $chromepath = $chrome[0].Path
    $chrome | Stop-Process
}
Start-SshAgent -Quiet

if($chromepath){
     Start-Process $chromepath
}
于 2013-06-03T09:32:50.897 回答
1

我有一个类似的问题(没有密码请求)。重新安装有帮助。这是这里给出的建议:

不管怎样,今天我完全删除了 posh-git 的所有痕迹(包括 Microsoft.PowerShell_profile.ps1 中的条目)并从源代码中克隆了它。这为我解决了问题!

于 2013-05-12T16:46:19.220 回答