Использование веб-сервиса GitHub в PhpStorm

Последнее обновление: 24.01.2019 г.
Публикация: 13.10.2018 г.
Информация

Эта заметка является вольным переводом достаточно старой записи из блога PhpStorm с незначительными дополнениями.

На данный момент очень популярной системой контроля версий (VCS) является Git, совместная разработка на её основе возможна также с помощью веб-сервиса GitHub.

GitHub: Логотип веб-сервиса

В этой заметке будет рассмотрено несколько интеграций с GitHub, доступных в IDE. Эта функциональность доступна во многих продуктах компании JetBrains:

Также следует отметить, что кроме указанных здесь интеграций PhpStorm обеспечивает полную поддержку Git: фиксацию изменений и обновление файлов, каталогов или всего проекта, списки изменений, поддержку ревизий, и так далее.

Заметка

Узнать больше об этих функциях ты сможешь в более ранней заметке Обзор VCS.


1. Необходимые условия

Прежде чем ты продолжишь, убедись, что PhpStorm знает путь к исполняемому файлу Git. Если с этим возникли трудности, то ознакомься с этой справкой PhpStorm. Также проверь, что ты уже зарегистрировал учётную запись в GitHub. Затем ты можешь добавить её через главное меню IDE [File → Settings… → Version Control → GitHub] в настройках PhpStorm. Таким образом, тебе не придётся предоставлять данные своей учётной записи GitHub время от времени.

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

2. Создание репозитория на GitHub

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

  • Начать с кодирования, а затем запушить (push) исходный код на GitHub.
  • Создать проект на GitHub, клонировать его локально, а затем начать кодировать.

В любом случае PhpStorm поддерживает оба варианта.

Как только твой проект будет готов к публикации на GitHub, ты можешь использовать главное меню IDE [VCS → Import into Version Control → Share Project on GitHub] для начала публикации проекта.

PhpStorm: запуск публикации проекта на GitHub через главное меню

Затем PhpStorm попросит тебя указать имя и описание для создания нового репозитория на GitHub. После этого нажми кнопку Share (Поделиться).

PhpStorm: окно "Share Project On GitHub"

Далее IDE предоставит тебе возможность добавить файлы для начальной фиксации, стоит отметить, что этот шаг можно пропустить.

PhpStorm: окно "Add Files For Initial Commit"

Затем если всё в порядке, в правом нижнем углу PhpStorm ты увидишь следующее уведомление:

PhpStorm: Уведомление об успешном расшаривании проекта на GitHub

Отлично! Теперь твой проект опубликован на GitHub. Отныне ты можешь использовать любую другую команду из главного меню VCS для работы со своим репозиторием. Подробнее об этом читай в этом посте.

GitHub: Страница тестового репозитория

3. Клонирование репозитория c GitHub

Что делать, если ты хочешь продолжить работу над существующим проектом, размещённом на GitHub? Как правило, тебе нужно открыть браузер и перейти на страницу репозитория, чтобы скопировать URL, который поможет тебе клонировать проект с помощью Git. А если ты помнишь URL репозитория, то можешь сразу перейти к его клонированию. Почему бы не клонировать проект с GitHub прямо из PhpStorm?

Это легко можно сделать с помощью следующего пункта главного меню IDE: [VCS → Checkout from Version Control → Git]. Используй его и ты получишь список всех репозиториев, к которым у тебя есть доступ согласно твоей учётной записи GitHub. Затем выбери нужный репозиторий и клонируй его в текущий проект PhpStorm.

PhpStorm: окно "Clone Repository"

После нажатия кнопки Clone (Клонировать), ты получишь всё содержимое хранилища локально и сразу можешь приступать к написанию кода. Позже используй традиционные команды Git из меню VCS для работы с репозиторием.

4. Создание фрагмента кода на GitHub

GitHub Gist — это простой способ поделиться фрагментами кода с другими. Также с его помощью можно создавать, просматривать и комментировать кусочки кода.

Заметка

Gist (гист) — это фрагмент, кусочек или паста кода. GitHub Gist — это часть веб-сервиса GitHub, которая предназначена для хранения или обмена фрагментами кода между людьми. В основе этого сервиса также лежит VCS Git, что делает возможным коллективную работу над кодом, поддержкой форков и версионности.

Зачем копировать и вставлять код из IDE на страницу в GitHub Gist, если для этого тебе достаточно лишь сделать клик правой кнопкой мыши?

В любом файле, открытом в IDE, ты можешь выделить код, затем сделать клик правой кнопкой мыши и выбрать пункт Create Gist… из контекстного меню. Также есть возможность добавить описание и при желании сделать гист приватным или анонимным.

PhpStorm: окно "Create Gist"

5. Открытие файла в браузере на GitHub

Тебе когда-нибудь хотелось увидеть все детали файла, над которым ты работаешь? Сделай клик правой кнопкой мыши на нужном файле и выбери пункт Open on GitHub из контекстного меню.

PhpStorm: пункт "Open on GitHub" из контекстного меню

Откроется браузер по умолчанию и страница GitHub с выбранным файлом. Она позволит тебе видеть историю файла, исследовать ветви и многое другое, всё доступно через веб-интерфейс сервиса GitHub.


6. Использование трекера задач в GitHub

Работа над проектом часто означает работу с трекером задач (системой отслеживания ошибок). И поскольку GitHub имеет свой трекер, давай рассмотрим, как он интегрируется с PhpStorm. Для этого в первую очередь тебе необходимо выполнить небольшой шаг настройки IDE.

С помощью пункта главного меню [File → Settings → Tools → Tasks → Servers] перейди к настройкам задач текущего проекта в PhpStorm. Здесь ты сможешь выбрать и настроить сервер трекера задач, который хочешь использовать. Добавь новый сервер, введи URL-адрес репозитория GitHub и необходимые учётные данные. На вкладке Commit Message (Сообщение коммита), по желанию можно включить опцию Add commit message (Добавить сообщение коммита) и при необходимости настроить сообщение коммита, которое будет сгенерировано после выполнения задачи.

PhpStorm: окно настроек подраздела "Servers"

После ты можешь работать с трекером задач GitHub и соотносить коммиты исходного кода с конкретными проблемами. Попробуй создать новую задачу. Для этого в главном меню выбери [Tools → Tasks & Contexts → Open Task…] или просто нажми Alt + Shift + N. Откроется диалоговое окно, в котором можно выбрать существующую задачу или создать новую.

PhpStorm: диалоговое окно управления задачами

Когда определился с задачей, нажми Enter. Откроется окно Open Task. Оно содержит ряд опций, которые ты можешь использовать на свое усмотрение.

PhpStorm: диалоговое окно управления задачами

После нажатия кнопки OK диалоговое окно закроется, а PhpStorm учитывая выбранные опции, например, закроет все открытые файлы и создаст новый контекст для выбранной задачи. Если ты хочешь получить более подробную информацию о задаче, которую только что выбрал, то используй пункт [Tools → Tasks & Contexts → Open 'task name' In Browser] главного меню или горячие клавиши Alt + Shift + B. Браузер откроет страницу задачи, зарегистрированной в трекере GitHub, с различной дополнительной информацией.

После внесения некоторых правок существует возможность указать PhpStorm, что их следует добавить в changelist (список изменений) для выбранной задачи. Чтобы сделать это используй пункт главного меню [Tools → Tasks & Contexts → Add changelist for 'task name'].

Заметка

Changelist (список изменений) — это набор изменений в файлах, который представляет собой логическое изменение исходного кода. Другими словами — это группировка правок по какому-то признаку. Изменения, указанные в списке изменений, сохраняются в репозитории только после коммита (пуша).

Теперь ты можешь работать над другими задачами и создавать списки изменений для них. Как только ты почувствовал, что код хорош, и его нужно снова зафиксировать в VCS, делай это. Для этого используй пункт меню [VCS → Commit…] или горячие клавиши Ctrl + K (Cmd + K на Mac OS X). Обрати внимание, что сообщение коммита создаётся автоматически на основе задачи, над которой ты работал.

PhpStorm: окно "Commit Changes"

Многие функции GitHub интегрированы в PhpStorm. Эта интеграция позволяет тебе комфортно решать несколько задач, которые обычно выполняются либо в командной строке, либо с помощью браузера. Таким образом, ты становишься более продуктивными, потому что в твоей работе происходит меньше переключения контекста.

Контрольные вопросы
Источники и дополнительные материалы