Git
Система контроля версий (version control system, VCS) — это ПО, предназначенное для отслеживания и управления изменениями в файлах или коде с течением времени. Она должна обеспечивать хранение истории изменений, их отслеживание (кто и когда сделал) и давать возможность возврата назад.
Самой популярной системой контроля версий в мире является Git. Эта система изначально была разработана для разработки ядра Linux, первая версия появилась в 2005 году.
Основные команды
git init
— инициализация нового репозитория
git clone
— создание локальной копии удалённого репозитория
git config
— управление конфигом (текущий репозиторий или глобально)
git log
— просмотр истории коммитов
git status
— получение текущего состояния репозитория
git add
— добавление изменений в индекс
git commit
— фиксация изменений
git tag
— управление тегами (указатели на определённые коммиты)
git push
— отправка изменений на удалённый репозиторий
git pull
— получение актуального состояния удалённого репозитория
git diff
— сравнение изменений в файлах
git branch
— управление ветками
git checkout
— переход между ветками
git merge
— объединение веток
git reset
— сброс указателя текущей ветки (HEAD) в указанное состояние
Dot files
.gitignore
— список неотслеживаемых файлов и каталогов
.gitattributes
— атрибуты для файлов и каталогов
Best Practices
-
Мелкие коммиты лучше больших: когда коммит содержит логически связанные изменения для одной конкретной задачи, это делает историю изменений более понятной и упрощает отладку.
-
Синхронизация — основа командной работы: чем чаще забираются обновления с у далённого репозитория, тем меньше вероятность возникновения конфликтов в коде.
-
Для каждой новой функциональности или исправления создаётся отдельная ветка: разработчики работают над разными задачами независимо.
-
Основная ветка (
main
/master
) всегда содержит рабочий код. Новые функции сначала тестируются в своей ветке. Перед слиянием проводится code review.