Skip to main content

Git: Основы

Определение

Git - система версионирования текстовых файлов. С помощью неё удобно отслеживать сделанные изменения, переключаться на старую версию файлов проекта, совмещать изменения сделанные разными людьми и просматривать разницу между текстовыми файлами.

Основные понятия

  • commit - зафиксированное состояние (и как действие: фиксация изменения)
  • commit message - сообщение, поясняющее сделанные изменения
  • branch - ответвление состояния из другого состояния. Ветка.
  • push - процесс отправки локальных изменений на удалённый сервер
  • pull - процесс скачивания изменения с удалённого сервера
  • fetch - обновление истории коммитов на локальной машине с сервера (без скачивания самих изменений)
  • checkout - процесс переключения на определённое состояние (на коммит/тэг/ветку)
  • tag - пометка на коммите (например версия: v1.2.3)

Базовая работа с git

Для работы с git полезные следующие файлы:

.gitconfig TBD

.githooks TBD

Версионирование

Для продукта чаще всего используют семантическое версионирование vX.Y.Z (например v1.7.42)

Вкратце договорённость такая:

  • X - мажорная версия, растёт при потере обратной совместимости API (под API тут понимается в том числе взаимосвязи между модулями одного приложения)
  • Y - минорная версия, растёт при добавлении новой функциональности
  • Z - патч/багфикс-версия, растёт при починке багов без новой функциональности

ZeroVer - софт, который имеет нулевую мажорную версию принято считать не готовым для использования, тем не менее, такого софта много. Старайтесь соблюдать правило: если считаете софт не готовым для использования пользователями, то придерживайтесь нулевой мажорной версии.

Тэги

Теги используются для отметки специальных состояний проекта, например релиза или конкретной версии. Если вы исползуйте семантическое версионирование, то ваш тэг будет выглдяеть примерно так v1.2.3

Читайте далее:

Git: Работа с ветками