2010-06-06 2 views
38

Я пытаюсь настроить Git на использование Plink. Он работал для меня много раз. Теперь, по некоторым причинам, этот вариант не доступен для меня (она отключена):Настройка Git для использования Plink

Git Setup Plink option screenshot

Я попытался удалить и переустановить Git сто раз. Ничего. Я не могу включить этот параметр.

+0

Вы уверены, что переменная окружения установлена ​​правильно для процесса? Вы можете установить Process Explorer и использовать его для проверки уже запущенной программы. – TerryP

+0

Я не получаю возможность установить переменную – Terminal58

+2

Что показал этот снимок экрана? Может ли кто-нибудь взять новый или описать его словами? – SamB

ответ

39

Это старый вопрос, и у меня есть такая же проблема, просто чтобы быть уверенным, что я напишу решение, которое сработало для меня.

  • msysgit инсталлятор не показывать экран, который позволяет выбрать между клиентом OpenSSH и Черепахи (Plink)

  • Решение установить Шпатлевка (или Tortoise Plink я думаю), создать и сохранить хотя бы один сеанс, просто установка Putty не сработала, сеанс должен быть создан, установщик делает некоторые странные проверки об этом.

  • Когда вы снова запустите установщик Git, появится экран.

enter image description here

+0

Работает с Git 1.7.8 – Radu

+1

Мне нужно было запустить Pagent. –

17

Это выглядит как issue 368

Когда я обновил не будет установлен не спрашивал, хочу ли я использовать палить.
Теперь Git продолжает искать ключ OpenSSH. Гит не смог найти мой ключ шпаклевки.

Я пробовал загружать свой закрытый ключ и переустанавливать Git. Независимо от того, что я делаю, я не могу заставить Git использовать мои данные plink plink и закрытый ключ.

Это обходной путь (issue 367)

1), убедившись, что палить в PATH
2) Сохранение настроек для одной шпаклевки сессии (не имеет значения, какой)

и делаю это перед установкой git.


Даже с этим процессом, это не так просто:

я, наконец, смог получить ГИТ работать с Plink.

Один комментарий:
Я начал сеанс Plink перед установкой GIT. Даже при выполнении сеанса Plink я никогда не мог заставить установщика распознавать, что PLink работает.

Моя работа вокруг:

  1. я, наконец, только что установил GIT 1.6.5.1.
  2. I изменен путь Plink для удаления пробелов. Я сменил каталог с: c:\program files\putty до c:\putty.
  3. I установить переменную окружения GIT_SSH на новый путь. c:\putty\plink.exe.

С этими изменениями GIT теперь функционирует должным образом.


Janusz Skonieczny добавляет in the comments:

Чтобы установить это быстро запустить PowerShell, как администратор:

[Environment]::SetEnvironmentVariable("GIT_SSH", "D:\your_path_here\plink.exe", "User") 

Обновление март 2017, для Git 2.13 (Q2 2017)

Git теперь автоматически обнаруживает ssh, который вам нужен (openssh или plink), но вы можете заставить это обнаружение с ss.variant.

См. commit dd33e07 (01 февраля 2017 года) и commit e9d9a8a (02 января 2017 года) от Segev Finer (segevfiner).
См. commit e2824e4 (01 февраля 2017 года) от Johannes Schindelin (dscho).
См. commit 6a4f3a9 (26 января 2017 года) от Junio C Hamano (gitster).
(слиты Junio C Hamano -- gitster -- в commit be6ab59, 27 Feb 2017)

ssh.variant: 

В зависимости от значения переменных окружения GIT_SSH или GIT_SSH_COMMAND или заходящего core.sshCommand конфигурации, Git автоматически определяет, следует ли регулировать его параметры командной строки для использования с plink или tortoiseplink, а не по умолчанию (OpenSSH).

Конфигурационная переменная ssh.variant может быть настроена на отмену этого автоматического обнаружения;
действительными значениями являются ssh, plink, putty или tortoiseplink.
Любое другое значение будет рассматриваться как нормальное ssh.
Эта настройка может быть переопределена через переменную окружения GIT_SSH_VARIANT.

+9

Основные моменты: избегать пробелов в пути к 'plink.exe'; point 'GIT_SSH' на plink. – SamB

+0

Почему в вашем 'PATH' нет плинтуса? 'GIT_SSH = plink' отлично работает для меня :-p – binki

+0

@binki, потому что у меня было несколько plink (один с шпатлевкой, один с GoW (https://github.com/bmatzelle/gow/wiki), и я хотел быть уверенным чтобы ссылаться на тот, который я хотел. – VonC

50

Я просто имел эту проблему (с новой версией Git, 1.7.9).Я использовал ответ от VonC, но были необходимы лишь несколько шагов:

  1. Установите переменную окружения GIT_SSH к месту plink.exe
  2. Run pagent.exe и загрузить ваш секретный ключ

На 64 бит Windows, расположение по умолчанию для plink равно C:\Program Files (x86)\GitExtensions\PuTTY\plink.exe Пробелы на пути больше не представляют проблемы.

+0

отлично! Работает и для более поздних версий git –

+0

Работал отлично и (если вы знаете, где установить среду vars) гораздо проще, чем переустановка. – amenthes

+0

Пробелы на пути по-прежнему остаются проблемой. Обходным путем является использование короткого имени файла, которое не содержит пробелов. Можно получить shor t, используя следующую команду: 'cmd/c для% A в (" c: \ Path \ to \ file ") делает @echo% ~ sA'. – neverov

0

Если вы используете TortoiseGit, вы можете навсегда настроить его plink. Конечно, используйте правильный путь на своем компьютере.

setx GIT_SSH "C:\Program Files\TortoiseGit\bin\TortoiseGitPlink.exe" 
Смежные вопросы