Скидки до 20% + 2-ая профессия бесплатно и подарки на 50 000₽

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

Использование 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-репозиториев, самостоятельно создают и обновляют их в рамках учебных проектов.

Аватар пользователя Валерия Белякова
Валерия Белякова 11 ноября 2024
0
Похожие статьи
Рекомендуемые программы
профессия
Верстка на HTML5 и CSS3, Программирование на JavaScript в браузере, разработка клиентских приложений используя React
10 месяцев
с нуля
Старт 26 декабря
профессия
Программирование на Python, Разработка веб-приложений и сервисов используя Django, проектирование и реализация REST API
10 месяцев
с нуля
Старт 26 декабря
профессия
Тестирование веб-приложений, чек-листы и тест-кейсы, этапы тестирования, DevTools, Postman, SQL, Git, HTTP/HTTPS, API
4 месяца
с нуля
Старт 26 декабря
профессия
Программирование на Java, Разработка веб-приложений и микросервисов используя Spring Boot, проектирование REST API
10 месяцев
с нуля
Старт 26 декабря
профессия
новый
Google таблицы, SQL, Python, Superset, Tableau, Pandas, визуализация данных, Anaconda, Jupyter Notebook, A/B-тесты, ROI
9 месяцев
с нуля
Старт 26 декабря
профессия
Программирование на PHP, Разработка веб-приложений и сервисов используя Laravel, проектирование и реализация REST API
10 месяцев
с нуля
Старт 26 декабря
профессия
Программирование на Ruby, Разработка веб-приложений и сервисов используя Rails, проектирование и реализация REST API
5 месяцев
c опытом
Старт 26 декабря
профессия
Программирование на JavaScript в браузере и на сервере (Node.js), разработка бекендов на Fastify и фронтенда на React
16 месяцев
с нуля
Старт 26 декабря
профессия
Программирование на JavaScript, разработка веб-приложений, bff и сервисов используя Fastify, проектирование REST API
10 месяцев
с нуля
Старт 26 декабря
профессия
новый
Git, JavaScript, Playwright, бэкенд-тесты, юнит-тесты, API-тесты, UI-тесты, Github Actions, HTTP/HTTPS, API, Docker, SQL
8 месяцев
c опытом
Старт 26 декабря