Чтобы не бояться что-то изменить в проекте, нужно уверенно владеть средствами его сохранения и отката к более ранним состояниям. В этой статье я расскажу о способах переключения между версиями программы с использованием системы Git.
В демонстрационных целях клонируем в локальную папку любой проект с Github и внесем изменения в его файл. На рисунке ниже модифицирован item_parser.py:
Сохраним новую версию программы с помощью git commit -am 'сообщение' (подробнее о настройках проектах с помощью GIt читай здесь, а о полезных командах этой системы управления версиями здесь):
Переключение
Простой способ визуализации сохраненных версий предоставляют среды разработки PyCharm и Spyder.
Spyder
Для взаимодействия с Git через Spyder потребуется установить графический инструмент gitk (в Linux - sudo apt install gitk). Впоследствии, нажав правой кнопкой мыши на один из файлов проекта и выбрав "Browse repository", вызовем меню gitk:
В верхней части окно содержит информацию о снимках, включая время создания и автора, его идентификатор, в нижней - сведения об изменениях по сравнению с предыдущей версией.
Если выбрать последний снимок, то в панели изменений указано название модифицированного файла (item_parser.py), а минусами и плюсами отмечены строки, присутствовавшие до и после изменений. Как можно заметить, модификации связаны с комментированием отдельных строк:
Чтобы иметь возможность поработать с прежней версией программы, выберите соответствующий ей коммит и создайте ветку, кликнув правой кнопкой мыши:
Например, я создал в предпоследнем снимке ветку "no_comments". Нажав на нее, можно выбрать "Перейти на ветку" и комментарии в файле item_parser.py будут удалены (так как этот снимок отличался о последнего именно этим). Если захотите вернуться на последний снимок, совершите аналогичные действия.
Если надо откатиться к прежней версии программы со сменой файлов рабочего каталога и не требуется сохранять последующие коммиты можете поступить следующим образом. Выбрать соответствующий снимок в верхней части интерфейса, нажать правую кнопку мыши и выбрать пункт "Сбросить ветку мастер на этот коммит", а затем вариант - жесткий:
PyCharm
Для совершения аналогичных действий в PyCharm потребуется активировать панель Git в левом нижнем углу:
Здесь можно увидеть информацию обо всех сохраненных снимках с указанием текущего положения ветки локальной (в данном случае master) и серверной (origin/master).
Создадим ветку от снимка win. Выделяем его, жмем правой кнопкой мыши и выбираем "New Branch" , затем даем имя и щелкаем по "Create":
Для переключения между ветками выбираем нужную в левой панели и жмем "Checkout":