Дружим Git с Putty

в 13:57, , рубрики: Без рубрики
Disclaimer

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

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

почему мне нужно использовать Git в связке с Putty?

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

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

Установка Putty

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

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

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

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

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

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

Дружим Git с Putty
Дружим Git с Putty
Дружим Git с Putty
Дружим Git с Putty
Дружим Git с Putty

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

В картинках

Дружим Git с Putty
Дружим Git с Putty
Дружим Git с Putty
Дружим Git с Putty

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


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

В картинках

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

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

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

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

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

В картинках

Дружим Git с Putty
Дружим Git с Putty
Дружим Git с Putty

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

Автор: Borz

Источник

Поделиться

* - обязательные к заполнению поля