Путешествие файлов во времени с Git
Система управления версиями Git предоставляет удобный способ работы с разными версиями файлов и переключения между ними. Когда это полезно? Например, вы хотите внести ряд изменений, а потом откатиться назад, вернув первозданный вид. Однако если это делать вручную, можно забыть восстановить некоторые из изменений.
Рассмотрим более практичный способ достижения нашей цели на примере. Зафиксируем состояние файла 1.py:
Затем внесем в него изменения:
Если теперь вызвать команду
git checkout -- 1.py
произойдет откат к прежней версии:
На самом деле можно вернуться не только к предыдущей версии, но и присутствующей в любом из коммитов, явно указав последний. Для этого нужно немного видоизменить команду. Сначала выведем все коммиты:
git log --oneline
Теперь вызовем команду отката, указав хеш коммита:
git checkout c030c55 1.py
Для получения результата аналогичного первому вызову, укажем предыдущий коммит:
Следует отметить, что перемещение к прежней версии можно легко осуществить с использованием графических инструментов различных сред разработок. Например, в PyCharm-е для этого следует на области внутри файла нажать правой кнопкой мыши и выбрать Git->Rollback:
Для JupyterLab то же производится посредством перехода на вкладку jupyterlab-git (подробности установки описаны здесь) и нажатия на стрелочку (Discard changes) в разделе Changes->Changed напротив имени целевого файла: