⚙️ Теория
🧠 Что такое Git
Git - это распределённая система контроля версий (VCS), созданная для отслеживания изменений в коде и совместной работы над проектами.
Главная особенность Git - хранение всей истории проекта локально, что позволяет работать даже без подключения к сети.
Git используется практически в каждом IT-проекте: от open-source до корпоративных репозиториев.
Он обеспечивает надежность, прозрачность и контроль над историей изменений.
⚙️ Основные концепции Git
- Repository (репозиторий) - Хранилище проекта и истории изменений. Бывает локальный и удалённый.
- Commit (коммит) - Снимок текущего состояния файлов.
- Branch (ветка) - Изолированная линия разработки для независимых изменений.
- Merge (слияние) - Объединение изменений из одной ветки в другую.
- HEAD - Указатель на текущую ветку и последний коммит.
🧰 Часто используемые команды
| Команда | Описание |
|---|---|
| git status | Проверка состояния репозитория |
| git log | История коммитов |
| git diff | Просмотр различий между версиями |
| git branch | Работа с ветками |
| git merge | Слияние веток |
| git stash | Временное сохранение незакоммиченных изменений |
| git remote -v | Просмотр привязанных удалённых репозиториев |
| git reset | Отмена добавления или коммитов |
| git fetch | Загрузка обновлений без слияния |
⚠️ Опасные команды
| Команда | Описание | Опасность |
|---|---|---|
| git reset --hard | Полностью сбрасывает состояние репозитория до указанного коммита | Безвозвратная потеря изменений |
| git push --force | Перезаписывает историю на удалённом сервере | Может уничтожить чужие коммиты |
| git clean -fd | Удаляет все неотслеживаемые файлы и папки | Без восстановления |
| git rebase | Бездумное переписывание истории коммитов | Нарушает совместную историю, может вызвать конфликты |
💡 Полезные советы
- Коммить маленькими порциями и с осмысленными сообщениями.
- Перед
pushсинхронизируй ветку с удалённой (fetch+mergeилиrebaseпо политике команды). - Используй
.gitignoreдля исключения временных и бинарных файлов.
🧪 Практика
- Используйте команды и примеры из разделов выше как рабочий чеклист.
- Перед применением в production валидируйте изменения на test/stage и сверяйте с официальной документацией.
🧾 Вывод
Материал резюмирует ключевые принципы и практики по теме статьи. Для production-решений опирайтесь на ограничения вашей инфраструктуры и официальные источники.