Дружим Git с Putty

от автора

Disclaimer

Предварительно делал поиск по хабру с надеждой на подобный пост, смог найти только вот этот пост, в котором вся работа производятся через TortoiseGit.

Но это не наш метод. По той причине, что в этом случае все наши IDE не смогут сами сделать Push на сервер. Да и через Git Bash ничего не получится сделать на сервере.

Почему я не использую отдельные сертификаты?

Так уж получилось, что я активно использую Putty с настроенными ключами для доступа к серверам. Ключей у меня не один. Git-репозитариев тоже не один.
Конечно же, можно нагенерить OpenSSH ключей для Git-а и разрулить их через ~/.ssh/config, но это получается двойная работа – поддержка ключей в Putty и отдельная поддержка для Git.

Итак, представим, что у нас девственно чистая система, в которой нет ни Putty, ни msysgit. Приступим к настройке нашего рабочего окружения.

Установка Putty

Качаем, устанавливаем, генерим и настраиваем ключ c Pagent (инструкция, ?).

Добавляем ключ на git-сервер

Копируем публичный OpenSSH ключ из Putty-ключа

Запускаем Putty key Generator
Открываем (кнопка «Load») наш PPK-ключ
Копируем весь текст из блока «Key»

Открываем страницу с SSH ключами и добавляем из буфера наш ключ

В картинках (на примере GitHub)





Создаём и сохраняем в Putty профиль «git@github.com» и проверяем, что удаётся зайти по ключу – должна открыться и сразу закрыться консоль.

В картинках




Устанавливаем и настраиваем msysgit


Скачиваем и устанавливаем в режиме «next, next, next» с небольшим отходом на диалогах:
1) Добавляем команды в контекстное меню проводника Windows
2) Указываем, что будем использоватьPutty вместо OpenSSH

В картинках









А у меня уже установлен msysgit — как мне его перенастроить?

Вариант раз: редукцией — удалить и поставить заново.
анекдот в тему:

Физик возмущается:
— Посмотрите, как эти математики решают задачи!
Задача 1:
«Дано: пустой чайник, кран с водой, плита.
Требуется: вскипятить воду.
Решение: берем чайник, открываем кран, набираем воду, ставим на плиту, дожидаемся закипания. Задача решена.»
Задача 2:
«Дано: чайник с водой, кран с водой, плита.
Требуется: вскипятить воду.
Решение: берем чайник, выливаем воду. Задача сводится к предыдущей.»

Вариант два: добавьте в окружение переменную GIT_SSH, в которой укажите путь до plink.exe

И заключительным шагом будет проверка, что Git консоль так же использует ключ Putty.
Запускаем Git Bash и делаем push в удалённый репозитарий.

В картинках



Плюшка: чтобы и в IntelliJ IDEA можно было этим воспользоваться, достаточно с «Built-in» переключиться на «Native»

ссылка на оригинал статьи http://habrahabr.ru/post/217869/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *