Использование git с ssh-agent в Windows

Я нахожусь в Windows. Я установил git и posh- git (некоторые помощники для Windows PowerShell). Я могу добавить ключи с помощью ssh-add и выполнить аутентификацию с помощью github и моего веб-сервера. Я также могу использовать git из PowerShell для взаимодействия с моими репозиториями.

Но есть одна вещь, которую я не могу сделать: я использую git -plus для редактора Atom. И я не добираюсь до своего репо. В чем моя проблема?

Ответ 1

posh-git и git для Windows 2.7 должно включать все, что вам нужно для настройки ssh-agent. После установки модуля вы можете запустить агент, используя что-то вроде:

Import-Module ~\Documents\WindowsPowerShell\Modules\posh-git\posh-git
Set-Alias ssh-agent "$env:ProgramFiles\git\usr\bin\ssh-agent.exe"
Set-Alias ssh-add "$env:ProgramFiles\git\usr\bin\ssh-add.exe"
Start-SshAgent -Quiet

Затем вы должны увидеть переменную окружения SSH_AUTH_SOCK:

C:\Code\Go\src\bosun.org\cmd\scollector [master]> gci env:SSH_AUTH_SOCK

Name                           Value
----                           -----
SSH_AUTH_SOCK                  /tmp/ssh-6ORcVQvRBZ2e/agent.11668

Какой пакет git -plus atom должен иметь возможность использовать при запуске команд. Я смог использовать Ctrl + Shift + H, чтобы открыть меню git в атоме, выбрать push, а затем нажать на удаленное репо (не отображать ошибки, если он терпит неудачу, но новая ветвь, которую я нажал, там).

ssh-agent необходимо запустить до того, как вы откроете атом, чтобы установить переменную окружения SSH_AUTH_SOCK. Если он все еще не работает, вы можете протестировать ssh в PowerShell, чтобы убедиться, что он может подключаться без пароля:

Set-Alias ssh "$env:ProgramFiles\git\usr\bin\ssh.exe"
ssh hostname