Disclaimer
Предварительно делал поиск по хабру с надеждой на подобный пост, смог найти только вот этот пост, в котором вся работа производятся через TortoiseGit.
Но это не наш метод. По той причине, что в этом случае все наши IDE не смогут сами сделать Push на сервер. Да и через Git Bash ничего не получится сделать на сервере.
Но это не наш метод. По той причине, что в этом случае все наши IDE не смогут сами сделать Push на сервер. Да и через Git Bash ничего не получится сделать на сервере.
почему мне нужно использовать Git в связке с Putty?
Так уж получилось, что я активно использую Putty с настроенными ключами для доступа к серверам. Ключей у меня не один. Git-репозитариев тоже не один.
Конечно же, можно нагенерить OpenSSH ключей для Git-а и разрулить их через ~/.ssh/config, но это получается двойная работа – поддержка ключей в Putty и отдельная поддержка для Git.
Конечно же, можно нагенерить OpenSSH ключей для Git-а и разрулить их через ~/.ssh/config, но это получается двойная работа – поддержка ключей в Putty и отдельная поддержка для Git.
Итак, представим, что у нас девственно чистая система, в которой нет ни Putty, ни msysgit. Приступим к настройке нашего рабочего окружения.
Установка Putty
Качаем, устанавливаем, генерим и настраиваем ключ c Pagent (инструкция, ?).
Добавляем ключ на git-сервер
Копируем публичный OpenSSH ключ из Putty-ключа
Запускаем Putty key Generator
Открываем (кнопка «Load») наш PPK-ключ
Копируем весь текст из блока «Key»
Открываем (кнопка «Load») наш PPK-ключ
Копируем весь текст из блока «Key»
Открываем страницу с SSH ключами и добавляем из буфера наш ключ
В картинках (на примере GitHub)
Создаём и сохраняем в Putty профиль «git@github.com» и проверяем, что удаётся зайти по ключу – должна открыться и сразу закрыться консоль.
В картинках
Устанавливаем и настраиваем msysgit
Скачиваем и устанавливаем в режиме «next, next, next» с небольшим отходом на диалогах:
1) Добавляем команды в контекстное меню проводника Windows
2) Указываем, что будем использовать Putty вместо OpenSSH
В картинках
А у меня уже установлен msysgit - как мне его перенастроить?
Вариант раз: редукцией — удалить и поставить заново.
анекдот в тему:
Вариант два: добавьте в окружение переменную GIT_SSH, в которой укажите путь до plink.exe
анекдот в тему:
Физик возмущается:
— Посмотрите, как эти математики решают задачи!
Задача 1:
«Дано: пустой чайник, кран с водой, плита.
Требуется: вскипятить воду.
Решение: берем чайник, открываем кран, набираем воду, ставим на плиту, дожидаемся закипания. Задача решена.»
Задача 2:
«Дано: чайник с водой, кран с водой, плита.
Требуется: вскипятить воду.
Решение: берем чайник, выливаем воду. Задача сводится к предыдущей.»
Вариант два: добавьте в окружение переменную GIT_SSH, в которой укажите путь до plink.exe
И заключительным шагом будет проверка, что Git консоль так же использует ключ Putty.
Запускаем Git Bash и делаем push в удалённый репозитарий.
В картинках
Плюшка: чтобы и в IntelliJ IDEA можно было этим воспользоваться, достаточно с «Built-in» переключиться на «Native»