Git — система контроля версий для отслеживания изменений проекта. Она дает возможность работать над проектами в команде и делиться внесенными изменениями с другими участниками для синхронизации работы над кодом.
- Как работает Git в Python-проектах
- Как установить модуль Git
- Базовые правила работы с репозиторием Git на Python-проектах
- Базовые операции в работе с git на Python-проектах
- Советы по использованию Git в Python-проектах
Как работает Git в Python-проектах
- Пользователи сохраняют файлы проекта в любой момент и могут продолжать редактировать проект. Процесс похож на сохранение резервной копии проекта и называется фиксацией.
- Через фиксацию состояния проекта в модуле Git пользователь оставляет сообщение о сделанных на этом этапе изменениях.
- Модуль Git отображает историю изменений и коммитов в проекте, а также фиксирует ошибки в журнале git log.
- Модуль Git позволяет сопоставлять файлы проектов, в которых были реализованы разные коммиты, и возвращать их в более ранние версии.
Как установить модуль Git
Шаг 1. Скачайте Git с официального сайта и установите на компьютер.
Шаг 2. Создайте репозиторий с помощью команды конфигурации Git.
$ git config -- global user.name "username"
$ git config -- global user.email "username@forexample.com"
После установки имени пользователя используйте команду инициализации Git в каталоге для создания репозитория:
$ git init
Репозиторий располагается в модуле Git. Cамая популярная команда — вызов статуса Git с информацией о состоянии проекта:
$ git status
Шаг 3. Создайте файл .gitignore в корне проекта и внесите имена папок и файлов, которые не нужно помещать в репозитории. Например:
__pycache__/
*.pyc
*.pyo
*.pyd
*.egg-info/
dist/
build/
Шаг 4. Создайте в репозитории новый файл и поместите его в модуль Git, чтобы пользователи могли его зафиксировать.
#sample.py
print( 'Adding a New File !' )
$ git add sample.py
При фиксации изменений пользователь каждый раз должен сообщать модулю Git о необходимости сохранить текущее состояние файла в репозитории. Сделать это можно с помощью команды commit и параметра -m.
$ git commit -m " creating sample.py "
Не игнорируйте шорткат
-m:
он необходим для ввода сообщения в строке c командойcommit
. Без-m
откроется редактор для ввода.
На любом этапе работы в модуле Git доступны три версии файла:
- Доступная для редактирования версия на жестком диске пользователя.
- Версия в промежуточной области пользователя модуля Git.
- Версия в репозитории файла.
Версии могут отличаться друг от друга, но их можно синхронизировать с помощью фиксации файла.
Шаг 5. Настройте текстовый редактор для ввода сообщений фиксации в репозиторий с помощью команды:
$ git config --global core.editor "code --wait"
Эта команда назначит редактор VS Code для ввода через Git сообщений фиксации и их обработки.
Также полезно: Эффективная разработка на Python с PyCharm: советы и трюки
Базовые правила работы с репозиторием Git на Python-проектах
- В репозиторий git можно добавлять только исходные файлы — любые файлы, созданные при вводе текста в редакторе.
- Минимизируйте случаи фиксации файлов большого размера и двоичных файлов для оптимизации хранилища.
- Модуль Git сохраняет неполную копию каждого файла проекта. Он определяет различия в версиях, чтобы сократить количество файлов в репозитории. Алгоритм неприменим к двоичным файлам, например MP3 или JPG, так как их сложно сравнить. И в этом случае модуль сохраняет полный двоичный файл при каждой фиксации.
- При работе с модулем Git не рекомендуется хранить в репозитории конфиденциальную информацию.
- Для сохранения прогресса в работе над проектом и упрощения возврата к предыдущим версиям кода коммиты необходимо делать регулярно.
Базовые операции в работе с git на Python-проектах
git clone [URL]
клонирует репозиторий.git add
добавляет изменения.git pull
обновляет локальную версию репозитория версией на сервере.git push
отправляет изменения на сервер.
Для управления репозиторием модуль Мit использует «ветки» — копии папки проекта на определенный момент цикла разработки:
main
для основной разработки.develop
для хранения последних разработок.feature
для добавления новых функций.bugfix
для исправления критических ошибок.
Список всех локальных веток можно посмотреть с помощью команды git branch
— она перечислит ветки, которые пользователь создал на своем компьютере. Эти ветки будут отличаться от тех, что размещены на сервере.
Для переключения между ветками используется команда:
git switch <name_branch>
При работе с несколькими ветками команда git switch
поможет проверить коммиты и вернуться к более ранним версиям.
В качестве аргумента для переключения можно указывать не только имя ветки, но и hash commit
.
git status
позволит просмотреть незафиксированные изменения.
Объединить коммиты, сделанные в разных ветках, можно через механизм слияния. Например, для объединения коммитов в ветке new с коммитами ветки main необходимо переключиться на main, запустить команду git merge
и использовать new в качестве аргумента.
$ git checkout main
Already on 'main'
$ git merge new
Updating 2f33f7e..be62476
Fast-forward
main.py | 1 +
1 file changed, 1 insertion(+)
Для удаления неиспользуемых ветвей по окончании работы в них используйте команду git branch
с параметром --delete
. Обязательно переключитесь на другую ветку перед запуском этой команды.
$ git checkout main
Already on 'main'
$ git branch --delete new
Deleted branch new (was be62476).
$ git branch --list
* main
Читайте также: Ликбез по пакетам и шпаргалка по модулям в Python
Советы по использованию Git в Python-проектах
Обращайте внимание на папку, из которой вы вызываете команды. При выборе неверной папки вы превратите в репозиторий рабочий стол или другие папки.
Не создавайте новый репозиторий внутри другого репозитория. Вызовите команду
git status
, чтобы убедиться, что вы находитесь вне репозитория.
Ошибка fatal: not a git repository (or any of the parent directories): .git
показывает, что вы находитесь в папке и можете создавать новый репозиторий.
Чтобы исправить это, найдите созданный по ошибке репозиторий и снова сделайте его папкой. Для этого необходимо:
- Включить режим демонстрации скрытых файлов и папок, чтобы увидеть скрытую папку .git.
- Найти и удалить папку .git.
- Еще раз запустить команду
git status
.
Слушатели курса «Python-разработчик» изучают особенности функционирования git-репозиториев, самостоятельно создают и обновляют их в рамках учебных проектов.