Сегодня мы сделаем первый шаг в реальной работе с Git: создадим собственный репозиторий и узнаем, что такое коммит. Представьте процесс разработки как прохождение игры. Каждый раз, когда вы достигаете важного этапа, вы сохраняете прогресс, чтобы потом можно было вернуться в точку сохранения. В Git эту роль выполняют коммиты.
К концу урока вы научитесь инициализировать репозиторий, добавлять изменения в область подготовки и фиксировать их в истории проекта. А главное — поймёте, почему коммиты так важны для индивидуальной и командной работы.
Что вы узнаете в рамках урока
- что такое репозиторий Git и зачем он нужен;
- что такое коммит и область подготовки;
- как создать репозиторий и проверить его структуру;
- как использовать команды
git add,git commit,git statusиgit log; - какие ошибки чаще всего совершают новички при работе с коммитами.
Ключевые термины
- Git-репозиторий — место хранения файлов проекта и всей истории изменений.
- Коммит — снимок изменений, зафиксированный в репозитории.
- Область подготовки (staging area) — промежуточная зона, где выбирается, какие изменения попадут в следующий коммит.
- git add — команда для добавления изменений в область подготовки.
- git commit — команда для создания коммита.
- git status — команда для проверки текущего состояния проекта.
- git log — команда для просмотра истории коммитов.
Что такое коммит
Коммит в Git — это основная единица истории проекта. Он фиксирует текущее состояние файлов и превращает его в контрольную точку, к которой можно вернуться в любой момент.
Коммит как «сохранение прогресса»
Представьте, что вы играете в видеоигру. Каждый раз, когда вы проходите уровень или находите редкий предмет, вы нажимаете «сохранить». В случае ошибки или поражения вы можете загрузить игру с этого места.
С коммитами в Git происходит то же самое: вы «сохраняете» состояние проекта, и если что-то пошло не так, можно откатиться к предыдущему состоянию.
Коммит как «фотография альбома»
Можно сравнить коммиты и с фотоальбомом. Каждый снимок фиксирует определённый момент времени: вот мы на море, вот первый день в школе, вот выпускной. Перелистывая альбом, вы восстанавливаете всю историю.
Коммиты выполняют ту же функцию: каждый из них хранит состояние файлов в определённый момент, и вместе они образуют «альбом истории проекта».
Коммит как «страница рабочего дневника»
Ещё одна полезная аналогия — дневник исследователя или инженера. На каждой странице записываются, какие действия были выполнены, что изменилось и какой результат получился. Если нужно вернуться назад и разобраться, где произошла ошибка, достаточно открыть нужную страницу.
Зачем нужны коммиты
- Отслеживание эволюции проекта. Коммиты создают понятную цепочку развития. Вы можете увидеть, как постепенно проект менялся: что добавлялось, что исправлялось, что удалялось.
- Прозрачность в команде. Каждый коммит содержит имя автора и сообщение с описанием изменений. Это позволяет понять, кто и зачем сделал правку.
- Возможность отката. Если новая версия кода оказалась нестабильной, вы можете «отмотать» проект назад — к любому из коммитов. Это даёт уверенность экспериментировать без страха всё сломать.
Создание репозитория
Чтобы Git начал отслеживать изменения, обычную папку с файлами нужно превратить в репозиторий. Репозиторий — это сердце проекта, именно в нём хранится история версий, коммиты и служебные данные.
Первый шаг: перейти в папку проекта
Допустим, у вас есть папка my_project, где лежат файлы будущего сайта или программы. Чтобы работать с ней через Git, нужно открыть терминал и перейти в эту папку:
cd my_project
Теперь все команды будут выполняться именно в этом каталоге.
Второй шаг: инициализация репозитория
Команда:
git init
С её помощью Git создаёт в вашей папке специальную скрытую директорию .git. Она содержит всё, что нужно системе для работы: историю изменений, ссылки на ветки, конфигурацию и объекты.
Можно сказать, что .git — это «чёрный ящик» проекта. Мы не открываем его напрямую и не редактируем руками. Всё взаимодействие идёт через команды Git.
Что именно создаётся внутри
После git init появляется структура, о которой важно знать хотя бы в общих чертах:
- HEAD — указывает на текущую ветку проекта.
- config — хранит настройки именно этого репозитория.
- objects/ — содержит все зафиксированные данные (коммиты, деревья, файлы).
- refs/ — ссылки на ветки и теги.
Даже если папка выглядит пустой, в .git уже заложена основа для всей будущей истории.
Почему важен именно этот шаг
До выполнения git init папка ничем не отличается от обычной директории на компьютере. После него она превращается в полноценный объект управления версиями: теперь каждое изменение можно зафиксировать и сохранить в истории.
Именно поэтому рекомендуется создавать репозиторий с самого начала работы над проектом — так вы не потеряете важные шаги в разработке.
Добавление изменений в индекс
После того как файлы изменены, нужно указать Git, что именно пойдёт в следующий коммит. Для этого используется команда:
git add <имя_файла>
или
git add .
Чтобы проверить текущее состояние, используется команда:
git status
Она покажет, какие файлы изменены и какие уже подготовлены для коммита.
Создание коммита
Чтобы зафиксировать изменения, используем команду:
git commit -m "Краткое описание изменений"
Сообщение коммита играет важную роль: оно помогает вам и команде быстро понять, что именно изменилось.
Просмотр истории
Чтобы увидеть все сделанные коммиты, используется команда:
git log
Она показывает список коммитов с хешем, автором, датой и сообщением.
Наиболее частые ошибки
- Непонятные сообщения коммитов.
Писать «финал», «исправления» или «123» — плохая практика. Лучше «исправлен баг с кнопкой отправки формы». - Слишком большие коммиты.
Если вы включаете в один коммит десятки несвязанных изменений, потом трудно понять, что именно было сделано. Лучше делать маленькие и логичные шаги. - Слепое использование
git add ..
Иногда это приводит к добавлению ненужных файлов (например, временных). Лучше избирательно добавлять только нужное. - Игнорирование
git status.
Новички часто забывают проверять состояние перед коммитом и случайно фиксируют не те изменения.
Наиболее частые вопросы
- Зачем нужна область подготовки?
Она позволяет выбрать, какие именно изменения попадут в коммит, а какие нет. - Можно ли изменить сообщение коммита?
Да, командойgit commit --amend. Но менять уже отправленные коммиты не рекомендуется. - Что такое сообщение коммита и почему оно важно?
Это короткое описание изменений. Оно помогает команде быстро понять контекст работы.
Итоги
В этом уроке мы:
- узнали, что такое коммит и почему он важен;
- научились создавать репозиторий с помощью
git init; - освоили команды
git add,git commit,git statusиgit log; - разобрали ошибки и вопросы, которые чаще всего возникают у новичков.
Теперь у вас есть базовые навыки работы с Git-репозиторием и понимание, как фиксировать изменения. Следующий шаг — освоить работу с ветками и научиться параллельно развивать проект.