Использование различных VCS репозиториев в PhpStorm
Клонируем основной проект, в котором еще нет субмодулей, на локальный диск:
В файле .gitmodules появлется нечто типа:
При клонировании основного проекта, в котором уже подключены git-субмодули нужно дополнительно их инициировать:
Отдельно подключаем SVN-модуль:
Должна получится примерно такая файловая структура:
Настройка PhpStorm
Указываем в настройках PhpStrom все точки монтирования репоизториев в нашем проекте: 
Работа с изменениями
Вносим изменения в README файлы в каждом из модулей и в самом проекте (всего три файла): 
Коммитим изменения в репозитории: 
Для git-репозиториев дополнительно push’аем изменения: 
Проверяем изменения во всех репозиториях: 
Таким образом, мы имеем возможность коммитить наши изменения в несколько репозиториев за раз.
Обновление локального кода: 
Подключение к 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. Открываем консоль и по умолчанию мы находимся в каталоге пользователя лучше сразу перейти в каталог в каком будем создавать ключи, для это пишем:

Команда ls покажет что лежит в каталоге. Теперь давайте сгенерируем новый ключ, для этого я перейду в каталог bitbucket:
И генерируем ключ, только почту свою укажите, а не мою.
Дальше появится сообщение о выборе каталога куда будем сохранять ключ, но т.к. мы уже перешли в нужный каталог, то просто жмем enter.
Затем попросят ввести кодовую фразу для ключа, вводим и повторяем вод кодовой фразы. Все на этом создание ключа выполнено, теперь его нужно подгрузить в bitbucket.
А также можно сгенерировать ключ через cmd:
Первым делом спросят хотите ли вы переименовать ключ, затем попросят ввести пароли и повторно ввести пароль, это опционально можно не вводить.
Загрузка ключа в Bitbucket

Открываем простым блокнотом публичный ключ, только что сгенеренный у него будет приставка pub. и копируем содержимое. Затем вставляем это в bitbucket.
Настройка config
Открываем папку .ssh и создаем файл config без расширения. Прописываем расположение закрытых ключей для каждой системы учета версий.
Тестирование
Необходимо убедится что все работает, для этого давайте создадим новый проект на bitbucket и попробуем туда cделать коммит. Я создал тестовый репозиторий test. Дальше создам локально проект и попробуем сделать push в этот репозиторий.
Создаем новый проект в PHPStorm
Открываем IDE. Создаем любые изменения, допустим создадим index.php c «Привет Мир».

Создаем репозиторий локально(инициализируем) для этого пишем в консоли PhpShtorm:

Теперь давайте создадим ветку:

Теперь нам надо подключить удаленный репозиторий, для этого нажимаем в меню IDE «Git->manage remotes» и добавляем ссылку на проект из bitbucket.


Обратите внимание на строчку, как я ввожу адрес домена.

Вводим пароль от SSh ключа, который был указан при создании его. Ну а дальше:

Ну как бы на этом все. Пишите в комментариях если столкнулись с ложностями.
Github phpstorm как пользоваться
Ранее у меня была статейка о том как работать с гитом в Sublime Text 2, а теперь пришло время показать как работать с гитом в PhpStorm.
Работать с Git в PhpStorm проще, чем в ST2. Вам не требуется устанавливать дополнительных плагинов или еще чего. Достаточно только установить Git. Здесь описано как его установить, так же описано как установить для него GUI — TortoiseGit. Имейте ввиду, если вы работаете с гитом через PhpStorm, то TortoiseGit вам не нужен.
После того как вы установили Git — запускайте свой PhpStorm и нажимайте вкладку VCS (Version Control System): тут у вас появился пункт Git

Откройте свой проект в этой IDE, выделите его мышью в левой части программы и чтобы добавить файлы в репозиторий (пока локальный), нажмите следующее: VCS > Git > Add
При создании нового файла, программа автоматически у вас спросит, добавить ли новый файл в репозиторий

Жмем Yes и файл будет добавлен в наш локальный репозиторий.
Чтобы сделать наш первый commit можно пойти двумя путями. Покажу оба.
- Жмем правой кнопкой мыши по нашему проекту в левой части программы, выбираем Git > Commit Directory…

- Выделяем наш проект (или файл, который хотим закомитить) мышью и жмем вкладку VCS > Git > Commit Directory…

В обоих случаях откроется одно и тоже окно

Для простоты мы заполняем только одно поле: Commit Message (оно обязательное). Пишите туда только осмысленные сообщения. Пишите так, чтобы через год не только вы, но и сторонние разработчики смогли понять, зачем вы делали этот коммит.
Так же, как и в TortoiseGit, из этого окна можно сразу и запушить. Команда Push отправляет наши измененные файлы на удаленный репозиторий. В нашем случае на GitHub. Чтобы закоммитить, а затем запушить, наведите в выпавшем меню на пункт Commit and Push… и выберите его.

После нажатия будет создан Commit и вы попадете на страницу для Push’a ваших коммитов.

Чтобы запушить, жмите Push. Если же вы нажмете Cancel, то будет просто создан коммит.
Вот тут описаны наиболее частые команды, которыми я пользуюсь: Популярные команды git
Синхронизация настроек PhpStorm с помощью Git
В IDE от JetBrains таких как PhpStorm, PyCharm, RubyMine есть несколько способов синхронизации настроек между разными установками программы, например на домашнем и офисном компьютере. Так же есть возможность дать пользоваться вашими настройками всем членам команды просто поделившись с ними ссылкой на репозиторий.
Ниже показан способ синхронизации настроек через git репозиторий.
Первое, что нужно сделать, это создать сам репозиторий для хранения настроек на Github. Я создаю приватный репозиторий, например phpstorm_settings:

Далее в IDE (PhpStorm, PyCharm, RubyMine) настройками которой нужно поделиться с другими экземплярами заходим в File → Settings Repository и добавляем url созданного выше репозитория.

Настройки можно объединить, перезаписать локальные или удаленные (в репозитории). У нас репозиторий пустой, поэтому чтобы отправить туда наши настройки выбираем Overwrite Remote.
Нас попросит ввести token. Для того чтобы его создать идем на Гитхаб в настройки аккаунта, далее выбираем Developer settings -> Personal access tokens, ставим галочку у repo и нажимаем Generate new token.

Копируем token и вставляем его в IDE.
Теперь настройки синхронизированы с помощью git и будут обновляться автоматически.
Автоматическую синхронизацию можно отключить и выполнять ее вручную с помощью меню VCS → Sync Settings. Для этого нужно перейти в Settings → Tools → Settings Repository и убрать галочку Auto Sync.

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