Главная | Все статьи | Код

Использование Git в Python-проектах для начинающих: базовые операции и советы

Python Время чтения статьи ~5 минут
Использование Git в Python-проектах для начинающих: базовые операции и советы главное изображение

Git — система контроля версий для отслеживания изменений проекта. Она дает возможность работать над проектами в команде и делиться внесенными изменениями с другими участниками для синхронизации работы над кодом.

Изучите Основы Python на бесплатном курсе

Начать с бесплатных уроков

Как работает Git в Python-проектах

  1. Пользователи сохраняют файлы проекта в любой момент и могут продолжать редактировать проект. Процесс похож на сохранение резервной копии проекта и называется фиксацией.
  2. Через фиксацию состояния проекта в модуле Git пользователь оставляет сообщение о сделанных на этом этапе изменениях.
  3. Модуль Git отображает историю изменений и коммитов в проекте, а также фиксирует ошибки в журнале git log.
  4. Модуль 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-проектах

  1. В репозиторий git можно добавлять только исходные файлы — любые файлы, созданные при вводе текста в редакторе.
  2. Минимизируйте случаи фиксации файлов большого размера и двоичных файлов для оптимизации хранилища.
  3. Модуль Git сохраняет неполную копию каждого файла проекта. Он определяет различия в версиях, чтобы сократить количество файлов в репозитории. Алгоритм неприменим к двоичным файлам, например MP3 или JPG, так как их сложно сравнить. И в этом случае модуль сохраняет полный двоичный файл при каждой фиксации.
  4. При работе с модулем Git не рекомендуется хранить в репозитории конфиденциальную информацию.
  5. Для сохранения прогресса в работе над проектом и упрощения возврата к предыдущим версиям кода коммиты необходимо делать регулярно.

Базовые операции в работе с 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-проектах

  1. Обращайте внимание на папку, из которой вы вызываете команды. При выборе неверной папки вы превратите в репозиторий рабочий стол или другие папки.

  2. Не создавайте новый репозиторий внутри другого репозитория. Вызовите команду git status, чтобы убедиться, что вы находитесь вне репозитория.

Ошибка fatal: not a git repository (or any of the parent directories): .git показывает, что вы находитесь в папке и можете создавать новый репозиторий.

Чтобы исправить это, найдите созданный по ошибке репозиторий и снова сделайте его папкой. Для этого необходимо:

  1. Включить режим демонстрации скрытых файлов и папок, чтобы увидеть скрытую папку .git.
  2. Найти и удалить папку .git.
  3. Еще раз запустить команду git status.

Слушатели курса «Python-разработчик» изучают особенности функционирования git-репозиториев, самостоятельно создают и обновляют их в рамках учебных проектов.

Аватар пользователя Валерия Белякова
Валерия Белякова 7 дней назад
0
Рекомендуемые программы
профессия
Осваивайте разработку веб-страниц, оживляйте дизайн макетов, публикуйте сайты и приложения. Отслеживайте ошибки в интерфейсе и устраняйте их
10 месяцев
с нуля
Старт 21 ноября
профессия
Обучитесь разработке бэкенда сайтов и веб-приложений — серверной части, которая отвечает за логику и базы данных
10 месяцев
с нуля
Старт 21 ноября
профессия
Выполняйте ручное тестирование веб-приложений, находите ошибки в продукте. Узнайте все о тест-дизайне.
4 месяца
с нуля
Старт 21 ноября
профессия
Научитесь разработке веб-приложений, сайтов и программного обеспечения на языке Java, программируйте и используйте структуры данных
10 месяцев
с нуля
Старт 21 ноября
профессия
новый
Собирайте, анализируйте и интерпретируйте данные, улучшайте бизнес-процессы и продукт компании. Обучитесь работе с библиотеками Python
9 месяцев
с нуля
Старт 21 ноября
профессия
Занимайтесь созданием сайтов, веб-приложений, сервисов и их интеграцией с внутренними бизнес-системами на бекенд-языке PHP
10 месяцев
с нуля
Старт 21 ноября
профессия
Создание веб-приложений со скоростью света
5 месяцев
c опытом
Старт 21 ноября
профессия
Обучитесь разработке визуальной части сайта — фронтенда, а также реализации серверной — бэкенда. Освойте HTML, CSS, JavaScript
16 месяцев
с нуля
Старт 21 ноября
профессия
Разработка бэкенд-компонентов для веб-приложений
10 месяцев
с нуля
Старт 21 ноября
профессия
новый
Организовывайте процесс автоматизации тестирования на проекте, обучитесь языку программирования JavaScript, начните управлять процессом тестирования
8 месяцев
c опытом
Старт 21 ноября