Пришлось немного замарочиться со связкой PHPStorm GIT Windows, не дай Бог придется это когда-нибудь повторить… А если мне (или кому-то еще) придется то инструкция ниже.
Сначала надо с сайта msysgit скачать сам msysgit 🙂 (msysGit-fullinstall-1.8.0-preview20121022.exe)
Устанавливается все просто, в конце остается консоль которую можно смело закрывать.
Теперь расскажем Windows что у него появился GIT (точнее возможность с ним работать)
Правой кнопкой мыши по моему компьютеру
Пункт называется «дополнительные параметры системы»
Далее по кнопочке «Переменные среды…»
В «Системные переменные» ищем переменную «PATH».
Выбираем и нажимаем «Изменить».
Не в коем случае не удаляйте значение!
Дописываем:
;C:\msysgit\msysgit\bin;C:\msysgit\msysgit\mingw\bin
Это если вы не меняли путь установки msysgit, если меняли то и тут поменяйте соответственно.
Не знаю как сейчас, но раньше что бы переменные среды обновились надо было перезагрузиться что я вам и советую сделать.
Дальше моя любимая консоль:
Нажимаем WIN+R и в появившемся окне пишем:
cmd
По нажатию Enter в окне консоли делаем так (здесь и далее userName — имя пользователя которое вы указали на вашем GIT, кстати в моем случае это gitlab, для простоты допускаем что имя пользователя Windows такое же. user@mail — Ваш e-mail на том же GIT):
C:\Users\userName>sh sh-3.1$ cd /c/Users/userName sh-3.1$ pwd /c/Users/userName sh-3.1$ mkdir ./.ssh sh-3.1$ exit exit
Просто создали папку для хранения ключей.
Теперь в той же консоли создадим сам ключ (учтите, что passphrase нам еще пригодится, его надо запомнить, и если он здесь не показан то это не значит что его не стоит вводить):
C:\Users\VBox>ssh-keygen -t rsa -C "user@mail" Generating public/private rsa key pair. Enter file in which to save the key (//.ssh/id_rsa): /c/Users/userName/.ssh/id_rsa Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /c/Users/VBox/.ssh/id_rsa. Your public key has been saved in /c/Users/VBox/.ssh/id_rsa.pub. The key fingerprint is: e1:dd:be:c6:20:73:be:41:16:42:84:6d:35:b7:fe:bc efim@dejin.pp.ua
Дальше что бы GIT впредь не задавал глупых вопросов укажем:
git config --global user.name "userName" git config --global user.email "user@mail"
Теперь подвяжем к GIT сгенерированные файлики:
C:\Users\userName>ssh-agent -s SSH_AUTH_SOCK=/tmp/ssh-PdKlDa4068/agent.4068; export SSH_AUTH_SOCK; SSH_AGENT_PID=2180; export SSH_AGENT_PID; echo Agent pid 2180;
Дальше две строчки которые пишутся на основе строк выше:
C:\Users\userName>set SSH_AUTH_SOCK=/tmp/ssh-PdKlDa4068/agent.4068 C:\Users\userName>set SSH_AGENT_PID=2180 C:\Users\userName>ssh-add "c:\Users\userName\.ssh\id_rsa" Enter passphrase for c:\Users\userName\.ssh\id_rsa: Identity added: c:\Users\userName\.ssh\id_rsa (c:\Users\userName\.ssh\id_rsa)
Теперь берем содержимое файла C:\Users\fima\.ssh\id_rsa.pub и несем в gitlab или чем вы там пользуетесь, и где нибудь в профиле пользователя создаете новый ключ:
Теперь расскажем PHPStorm что у нас есть GIT:
File -> Settings (Ctrl+Alt+S) -> Version Control -> VCSs -> Git, в поле «Path to git executable» указываем «C:\msysgit\msysgit\bin\git.exe» -> test
Должно вывести версию GIT, если вывело то советую PHPStorm перезапустить.
Дальше Будем проверять это дело:
Закройте все проекты.
Check out from Version Control -> GIT
И видим вот такое окошко:
Вбив все параметры нажимаем тест, принимаем ключ сервера, и ждем, в текущей версии PHPStorm ждать можно вечно 🙂
Нажимаем Cancel два раза и он наконец то решает спросить у нас тот самый пароль passphrase, а заодно и мастер пароль.
После того как все ввели еще раз пытаемся вытащить проект с сервера, но в этот раз даже успешно 🙂
Качественный материал спасибо!
Великолепно! Очень помогли!
В конце, когда спрашивает пароль — отказывается принимать верный. На вебморде авторизуюсь, в шторме нет. в чём может быть дело?
Разобрался сам. видимо в новой версии что то подправили и теперь достаточно просто команды ssh-keygen -t rsa -C «user@mail» и никаких больше танцев с бубном. всё хорошо работает
Спасибо Вам большое! Подробно и доступно все «изжевали». Лучше статьи в рунете не нашел по этому вопросу.
Приятно. Спасибо.
Спасибо за метериал!
userName в git и профиле windows, а также email при создании ключа и в git должны обязательно совпадать?
Я пытаюсь настроить работы PhpStorm с двумя ключами (для двух аккаунтов на GitHub), пока не очень успешно))
> userName в git и профиле windows,
Вообще не обязаны.
> а также email при создании ключа и в git должны обязательно совпадать?
Если я не ошибаюсь, то не обязаны.
Точно так же как и имя ключа. Например:
ssh-rsa AA…..== ИМЯКЛЮЧА
это просто смысловая нагрузка что бы не «грохнуть» случайно не тот ключ.
> Я пытаюсь настроить работы PhpStorm с двумя ключами (для двух аккаунтов на GitHub), пока не очень успешно))
С интересом почитаю как вам удастся это сделать, не через ….
Главными в git являются приватный и публичный ключи шифрования, все остальное, по моему, просто «рюшечки» для удобства пользователей.
Можно попробовать использовать один и тот же набор ключей для обоих аккаунтов.
Если ключа два, и это никак не исправить, то можно написать, например BAT/SH файл, который будет укладывать в папку с ключами ключи от нужного аккаунта. Но этот маразм я бы оставил на крайний случай.
> Можно попробовать использовать один и тот же набор ключей для обоих аккаунтов
Нельзя, к сожалению! С этого и началась моя головоломка. Когда найду нормальный вариант, отпишусь, постараюсь не забыть 😉
Уже несколько раз настраивал Git по вашей статье. Отличный мануал!