Disclaimer
Предварительно делал поиск по хабру с надеждой на подобный пост, смог найти только вот этот пост, в котором вся работа производятся через TortoiseGit.
Но это не наш метод. По той причине, что в этом случае все наши IDE не смогут сами сделать Push на сервер. Да и через Git Bash ничего не получится сделать на сервере.
Но это не наш метод. По той причине, что в этом случае все наши IDE не смогут сами сделать Push на сервер. Да и через Git Bash ничего не получится сделать на сервере.
почему мне нужно использовать Git в связке с Putty?
Так уж получилось, что я активно использую Putty с настроенными ключами для доступа к серверам. Ключей у меня не один. Git-репозитариев тоже не один.
Конечно же, можно нагенерить OpenSSH ключей для Git-а и разрулить их через ~/.ssh/config, но это получается двойная работа – поддержка ключей в Putty и отдельная поддержка для Git.
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/268/fd7/c48/268fd7c48eb352ca893378f1a467338e.png)
Конечно же, можно нагенерить OpenSSH ключей для Git-а и разрулить их через ~/.ssh/config, но это получается двойная работа – поддержка ключей в Putty и отдельная поддержка для Git.
![](https://habrastorage.org/getpro/habr/post_images/268/fd7/c48/268fd7c48eb352ca893378f1a467338e.png)
Итак, представим, что у нас девственно чистая система, в которой нет ни Putty, ни msysgit. Приступим к настройке нашего рабочего окружения.
Установка Putty
Качаем, устанавливаем, генерим и настраиваем ключ c Pagent (инструкция, ?).
Добавляем ключ на git-сервер
Копируем публичный OpenSSH ключ из Putty-ключа
Запускаем Putty key Generator
Открываем (кнопка «Load») наш PPK-ключ
Копируем весь текст из блока «Key»
Открываем (кнопка «Load») наш PPK-ключ
Копируем весь текст из блока «Key»
Открываем страницу с SSH ключами и добавляем из буфера наш ключ
В картинках (на примере GitHub)![](https://habrastorage.org/r/w1560/getpro/habr/post_images/6be/113/714/6be1137147dcafa1537ad74169044d91.png)
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/ae0/546/13b/ae054613b41a701c3b75fa8ec51cff07.png)
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/cbc/f79/6f8/cbcf796f8393c8c61c693b8a8e3cae32.png)
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/5ab/4fd/f57/5ab4fdf57166f086eac79162d057ef33.png)
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/263/ee3/7e2/263ee37e2cdaeee28e6f3bad313fe547.png)
![](https://habrastorage.org/getpro/habr/post_images/6be/113/714/6be1137147dcafa1537ad74169044d91.png)
![](https://habrastorage.org/getpro/habr/post_images/ae0/546/13b/ae054613b41a701c3b75fa8ec51cff07.png)
![](https://habrastorage.org/getpro/habr/post_images/cbc/f79/6f8/cbcf796f8393c8c61c693b8a8e3cae32.png)
![](https://habrastorage.org/getpro/habr/post_images/5ab/4fd/f57/5ab4fdf57166f086eac79162d057ef33.png)
![](https://habrastorage.org/getpro/habr/post_images/263/ee3/7e2/263ee37e2cdaeee28e6f3bad313fe547.png)
Создаём и сохраняем в Putty профиль «git@github.com» и проверяем, что удаётся зайти по ключу – должна открыться и сразу закрыться консоль.
В картинках![](https://habrastorage.org/r/w1560/getpro/habr/post_images/df6/91a/679/df691a679f11143c4f910293da5d3dbc.png)
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/542/7f0/c60/5427f0c609f9c6bdea50a2089e47a441.png)
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/96d/827/353/96d82735340ed64012175cc7a5668e95.png)
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/f4e/05d/181/f4e05d18162ab5c11de42dcb76235a8e.png)
![](https://habrastorage.org/getpro/habr/post_images/df6/91a/679/df691a679f11143c4f910293da5d3dbc.png)
![](https://habrastorage.org/getpro/habr/post_images/542/7f0/c60/5427f0c609f9c6bdea50a2089e47a441.png)
![](https://habrastorage.org/getpro/habr/post_images/96d/827/353/96d82735340ed64012175cc7a5668e95.png)
![](https://habrastorage.org/getpro/habr/post_images/f4e/05d/181/f4e05d18162ab5c11de42dcb76235a8e.png)
Устанавливаем и настраиваем msysgit
Скачиваем и устанавливаем в режиме «next, next, next» с небольшим отходом на диалогах:
1) Добавляем команды в контекстное меню проводника Windows
2) Указываем, что будем использовать Putty вместо OpenSSH
В картинках![](https://habrastorage.org/r/w1560/getpro/habr/post_images/8af/76f/fe3/8af76ffe38b2dc109c02d613cdaeb191.png)
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/c6f/e6b/4cf/c6fe6b4cfd65211eccd8c733f6e8f100.png)
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/ab7/2ba/914/ab72ba914d22aa35baabfee8ebc1c000.png)
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/bf6/64a/e11/bf664ae118b52a4cae1d5c72c694b25d.png)
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/cc1/bac/737/cc1bac7379a059f9298807c3fedb50a2.png)
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/624/b26/fb9/624b26fb9a8bf01b5f9f0de44971f9dd.png)
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/77c/ace/875/77cace875d24f1b2ea2e271169ccaa40.png)
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/8cb/e0f/813/8cbe0f813acdb85a527a7f06f3f032e5.png)
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/6c3/5a1/fd5/6c35a1fd55a96ac02902cb3e0e985cf6.png)
![](https://habrastorage.org/getpro/habr/post_images/8af/76f/fe3/8af76ffe38b2dc109c02d613cdaeb191.png)
![](https://habrastorage.org/getpro/habr/post_images/c6f/e6b/4cf/c6fe6b4cfd65211eccd8c733f6e8f100.png)
![](https://habrastorage.org/getpro/habr/post_images/ab7/2ba/914/ab72ba914d22aa35baabfee8ebc1c000.png)
![](https://habrastorage.org/getpro/habr/post_images/bf6/64a/e11/bf664ae118b52a4cae1d5c72c694b25d.png)
![](https://habrastorage.org/getpro/habr/post_images/cc1/bac/737/cc1bac7379a059f9298807c3fedb50a2.png)
![](https://habrastorage.org/getpro/habr/post_images/624/b26/fb9/624b26fb9a8bf01b5f9f0de44971f9dd.png)
![](https://habrastorage.org/getpro/habr/post_images/77c/ace/875/77cace875d24f1b2ea2e271169ccaa40.png)
![](https://habrastorage.org/getpro/habr/post_images/8cb/e0f/813/8cbe0f813acdb85a527a7f06f3f032e5.png)
![](https://habrastorage.org/getpro/habr/post_images/6c3/5a1/fd5/6c35a1fd55a96ac02902cb3e0e985cf6.png)
А у меня уже установлен msysgit - как мне его перенастроить?
Вариант раз: редукцией — удалить и поставить заново.
анекдот в тему:
Вариант два: добавьте в окружение переменную GIT_SSH, в которой укажите путь до plink.exe
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/50e/445/3a1/50e4453a16e832d7abc6ac49033a5379.png)
анекдот в тему:
Физик возмущается:
— Посмотрите, как эти математики решают задачи!
Задача 1:
«Дано: пустой чайник, кран с водой, плита.
Требуется: вскипятить воду.
Решение: берем чайник, открываем кран, набираем воду, ставим на плиту, дожидаемся закипания. Задача решена.»
Задача 2:
«Дано: чайник с водой, кран с водой, плита.
Требуется: вскипятить воду.
Решение: берем чайник, выливаем воду. Задача сводится к предыдущей.»
Вариант два: добавьте в окружение переменную GIT_SSH, в которой укажите путь до plink.exe
![](https://habrastorage.org/getpro/habr/post_images/50e/445/3a1/50e4453a16e832d7abc6ac49033a5379.png)
И заключительным шагом будет проверка, что Git консоль так же использует ключ Putty.
Запускаем Git Bash и делаем push в удалённый репозитарий.
В картинках![](https://habrastorage.org/r/w1560/getpro/habr/post_images/252/d6b/30a/252d6b30a700f4b9c7eb96365b989743.png)
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/476/5e7/51b/4765e751bb84c210887087f31dd46414.png)
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/b88/618/fe9/b88618fe9f795f24755ee1ab2ba78ef9.png)
![](https://habrastorage.org/getpro/habr/post_images/252/d6b/30a/252d6b30a700f4b9c7eb96365b989743.png)
![](https://habrastorage.org/getpro/habr/post_images/476/5e7/51b/4765e751bb84c210887087f31dd46414.png)
![](https://habrastorage.org/getpro/habr/post_images/b88/618/fe9/b88618fe9f795f24755ee1ab2ba78ef9.png)
Плюшка: чтобы и в IntelliJ IDEA можно было этим воспользоваться, достаточно с «Built-in» переключиться на «Native»