Как организована работа с git
Содержание
Основные сведения
Для того, чтобы вести эффективную разработку, нам необходимо использовать git. Сами основы работы с git в этой статье отражены не будут. Вы можете самостоятельно найти множество видео или статей в интернете. Но я рекомендую читать официальную документацию. Она полностью переведена на русский язык. Здесь я опишу то, как можно использовать git с помощью VSCode и менеджер разработки организует с ним работу.
В первую очередь менеджер использует возможности git при переключении с между проектами. Поскольку каждая ветка репозитория являет собой некоторое состояние файловой системы, а в odoo комьюнити принято за стандарт то что в одном репозитории модули для каждой версии системы хранятся в своей ветке и имя ветки совпадает с номером версии, то при старте системы, менеджер проектов проверяет совпадает ли версия из файла конфигурации с версией самой odoo, а так же версиями репозиториев модулей-зависимостей. Т.е. при открытии проекта версии 14.0 менеджер зайдет в каталог с исходниками odoo и переключит состояние git репозитория на ветку с именем 14.0. А если версия проекта указана как 16.0, то соответственно переключит на версию 16.0.
При этом менеджер никак не трогает каталог с репозиторием, который указан в ключе developing_project
файла конфигурации config.json
. Это сделано для того, чтобы не мешать вам как разработчику и вы должны сами следить в каком состоянии и на какой ветке находится разрабатываемый вами проект.
В прошлый раз, при изучении приемов отладки, мы вставляли команду print(), и это изменение увидела VSCode, нажмите на иконку и у вас появится следующий экран:
- Здесь вы видите изменения, которые вы внесли, вы так же можете их корректировать, прямо в правой части.
- Если вас устраивают эти изменения вы можете их добавить к коммиту, нажав на плюсик
- Оставьте комметарий к своему коммиту
- Нажмите Фиксация и вы совершите коммит, ваши изменения будут добавлены в локальный git репозиторий.
- Дальше вы можете добавить ваш коммит на гит сервер, но мы пока этот момент не будет рассматривать
Переключение на другую ветку
Для того, чтобы переключиться на другую ветку нам нужно в командной строке перейти в каталог с разрабатываемым проектом на odoo. Когда мы открываем наш проект в VSCode и запустили менеджер разработки, то он создаст мягкую ссылку на разрабатываемый проект. После этого мы можем легко перейти в этот каталог и переключиться на нужную ветку.
cd /path/to/odoo_demo_project-16/odoo_demo_project
Посмотрим какие ветки нам доступны:
git pull
git branch -r
Эта команда обновит состояние локального репозитория и покажет ветки, которые доступны на удаленном сервере
Затем переключаемся на нужную ветку
git checkout имя-ветки
После этого состояние файловой системы будет соответствовать состоянию выбранной ветки.
Задания для самостоятельного выполнения:
- Внесите какое либо изменение в файл с проектом
- Добавьте его в коммит
- Напишите комментарий к коммиту и сделайте этот самый коммит.
- После этого вы можете в терминале перейти в каталог с разрабатываемым проектом, в нашем случае это будет:
cd /path/to/odoo_demo_project-16/odoo_demo_project
или, если вы открыли терминал в VSCode, то сразу находитесь в каталоге проекта можно просто:
cd ./odoo_demo_project
и после этого вы можете вбить команду:
git log
И вы увидите список все коммитов, в том числе и те которые сделали вы. Управлять репозиторием вы можете как с помощью инструментов VSCode, так и с помощью коммандной строки. Лично я пользуюсь обоими этими инструментами.
Обсуждение
Обсудить, указать на ошибки и опечатки можно здесь