Подключение к Git по SSH в Windows через PHPShtorm на примере BitBucket и GitHub
Всем привет. Уровень профессионализма растет и пора отказываться от сторонних программ типа «SourceTree», «GitKraken» и т.п. Теперь я буду пользоваться исключительно командной строкой и в редких случаях оберткой PHPShtorm для просмотра ветвлений веток. Как к этому пришел? Да очень просто из очередного бага «SourceTree» который меня подставил на работе.
Установка GIT
И так для начало если еще не стоит то необходимо поставить себе Git там все просто везде жмем далее. У меня уже есть статья где я описывал процесс установки Git.
Настройка
Переходим в каталог пользователя под которым вы сидите, это можно сделать быстро — через выполнить. Нажимаем win+r, вставляем команду %userprofile% и жмем ОК. Внутри ищем папку .ssh и в этой папке будут лежать SSH ключи.
Я создал три папки для работы. У каждой папки есть свое название эквивалентное названию площадки которая предоставляет услугу контроля версий. Вы можете работать только с GitHub например. Я же работаю с GitHub, BitBucket, GitLab по этому у меня их три. Ключи будут лежать в этих папках, а не в кроне, мне так удобней.
Создание ключа SSH
Для этого воспользуемся уже установленным Git Bash. Открываем консоль и по умолчанию мы находимся в каталоге пользователя лучше сразу перейти в каталог в каком будем создавать ключи, для это пишем:
cd .ssh
Команда ls покажет что лежит в каталоге. Теперь давайте сгенерируем новый ключ, для этого я перейду в каталог bitbucket:
cd bitbucket
И генерируем ключ, только почту свою укажите, а не мою.
ssh-keygen -t ed25519 -C "feniksdv@gmail.com"
Дальше появится сообщение о выборе каталога куда будем сохранять ключ, но т.к. мы уже перешли в нужный каталог, то просто жмем enter.
Затем попросят ввести кодовую фразу для ключа, вводим и повторяем вод кодовой фразы. Все на этом создание ключа выполнено, теперь его нужно подгрузить в bitbucket.
А также можно сгенерировать ключ через cmd:
ssh-keygen
Первым делом спросят хотите ли вы переименовать ключ, затем попросят ввести пароли и повторно ввести пароль, это опционально можно не вводить.
Загрузка ключа в Bitbucket
Открываем простым блокнотом публичный ключ, только что сгенеренный у него будет приставка pub. и копируем содержимое. Затем вставляем это в bitbucket.
Настройка config
Открываем папку .ssh и создаем файл config без расширения. Прописываем расположение закрытых ключей для каждой системы учета версий.
Host gitlub HostName gitlab.com IdentityFile ~/.ssh/gitlub/gitlub User git@gitlab.com Host github HostName github.com IdentityFile ~/.ssh/github/github User git@github.com Host bitbucket-microfo HostName bitbucket.org IdentityFile ~/.ssh/bitbucketM/id_rsa User git
Тестирование
Необходимо убедится что все работает, для этого давайте создадим новый проект на bitbucket и попробуем туда cделать коммит. Я создал тестовый репозиторий test. Дальше создам локально проект и попробуем сделать push в этот репозиторий.
Создаем новый проект в PHPStorm
Открываем IDE. Создаем любые изменения, допустим создадим index.php c «Привет Мир».
Создаем репозиторий локально(инициализируем) для этого пишем в консоли PhpShtorm:
git init
Теперь давайте создадим ветку:
git checkout -b "test-hello-world"
Теперь нам надо подключить удаленный репозиторий, для этого нажимаем в меню IDE «Git->manage remotes» и добавляем ссылку на проект из bitbucket.
Обратите внимание на строчку, как я ввожу адрес домена.
Вводим пароль от SSh ключа, который был указан при создании его. Ну а дальше:
git add index.php git commit 'test' git push
Ну как бы на этом все. Пишите в комментариях если столкнулись с ложностями.
Предыдущая