Время прочтения: 4 мин.

Как организовать процесс написания кода, чтобы в любой момент можно было вернуться к последней рабочей версии? Как не хранить 100500 архивов, но иметь достаточную глубину отката? Как взаимодействовать нескольким участником команды в рамках работы над одной задачей и не затереть чужой код? Разобраться в этих вопросах, не вникая во все тонкости работы с командной строкой, попытаемся в посте.

Все мы знаем о преимуществах использования систем контроля версий как при самостоятельной разработке, так и при работе в команде. Сегодня я хотел бы рассказать о поддержке в PyCharm самой популярной системы контроля версий Git и ее GUI.

Для начала предлагаю убедиться, что на машине установлен сам Git. В MS Windows это можно сделать открыв командную строку и набрав в ней git —version.

Если вдруг cmd не понимает такой команды, значит Git не установлен. Так как он является свободно распространяемым ПО, его можно бесплатно скачать и установить. Версия для MS Windows доступна по ссылке https://gitforwindows.org.

Теперь запускаем PyCharm и открываем какой-либо свой проект. С помощью команд главного меню VCS -> Enable Version Control Integration… ->  [в выпадающем списке] Git подключаем контроль версий.

Сразу же не забываем создать .gitignore, чтобы не таскать конфигурационные, сборочные файлы и т.п.

Также нужно добавить конкретные файлы/директории, для которых Git будет отслеживать изменения. Изначально, после подключения контроля версий к проекту, все файлы выделятся красным цветом. Выделив необходимые из них и вызвав контекстное меню, кликаем Git -> Add. Файлы выделятся зеленым цветом – значит будут отслеживаться системой контроля версий.

Затем нужно будет сделать первый commit (Git -> Commit Files…), чтобы сохранить текущее состояние, к которому можно будет впоследствии откатиться с помощью rollback, если что-то пойдет не так.

В ходе дальнейшей работы, после редактирования, файлы будут выделяться синим цветом, сигнализируя о наличии незафиксированных commit-ом изменений. После commit-а цветовое выделение будет сниматься, давая понять, что несохраненные изменения отсутствуют.

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

В любой момент времени есть возможность посмотреть всю хронологию произведенных над файлом изменений с помощью (Git -> Show History). Удобно видеть кто, когда и что именно добавил в проект.

При необходимости всегда можно посмотреть изменения более детально (Git -> Show Diff).

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

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

Давайте рассмотрим, как запушить свой проект, например, на github (Git -> GitHub -> Share Project on GitHub). При использовании этой функции впервые, IDE попросит авторизоваться на GitHub.

В правом нижнем углу мы можем видеть и управлять локальным и удаленным репозиториями и всеми их ветками.

Пушить commit-ы в удаленный репозиторий можно с помощью Git -> Push, либо при создании commit-а выбрать не commit, как раньше, а commit and push…, тогда создастся локальный commit и запушится в удаленный репозиторий.

Обновлять проект с учетом изменений в удаленном репозитории можно с помощью Git -> Update Project.

Я рассмотрел основные операции, связанные с контролем версий, которыми пользуются разработчики, Data Scientist-ы, аналитики, инженеры и все, кто работает над проектами несколько более сложными чем “Hello World!”. Хотелось бы обратить внимание на то, что мне ни разу не пришлось прибегать к CLI и терминалу. Все базовые задачи удалось решить с помощью графического интерфейса IDE. В данном посте я попытался показать преимущества использования GUI, но, несомненно, работа через терминал имеет также свои плюсы и каждый волен выбирать то, что ближе ему.