Урок 2 из 8 · 20 мин · обновлено

Первый репозиторий и коммит

Как создать репозиторий, проверить состояние файлов, подготовить изменения к сохранению и сделать первый коммит. Три зоны Git простыми словами.

Создаём репозиторий

Перейдите в папку проекта и выполните:

Терминал
git init
Результат
Initialized empty Git repository in /Users/anna/my-site/.git/

Внутри появилась скрытая папка .git — в ней Git будет хранить всю историю. Трогать её руками не нужно.

git status — где мы

Создайте в папке файл index.html с любым содержимым и спросите Git, что происходит:

Терминал
git status
Результат
On branch main
No commits yet
Untracked files:
  index.html

Вывод здесь и дальше немного сокращён: Git ещё печатает подсказки, какие команды можно выполнить. Главное — Git видит новый файл, но пока не отслеживает его (untracked). git status — команда, которую вы будете запускать чаще всех: она показывает, что изменилось и что готово к сохранению.

Три зоны Git

Чтобы понять коммиты, нужно представить три места, где живут изменения:

  1. Рабочая папкафайлы, которые вы правите
  2. Индексчто войдёт в коммит
  3. Историясохранённые коммиты
  1. Рабочая папка — ваши файлы. Вы их меняете как обычно.
  2. Индекс (staging area) — «корзина» для следующего коммита. Команда git add кладёт туда изменения.
  3. История — сохранённые снимки. Команда git commit переносит туда всё из индекса.

Зачем промежуточный шаг? Он позволяет выбрать, что именно сохранить. Например, вы поправили и шапку, и подвал, но хотите сохранить это двумя отдельными коммитами с понятными описаниями.

Первый коммит

Добавим файл в индекс:

Терминал
git add index.html

Чтобы добавить сразу все изменения в папке, пишут git add . (точка — «всё в текущей папке»).

Теперь сохраняем:

Терминал
git commit -m "Добавил главную страницу"
Результат
[main (root-commit) 3f2a1c9] Добавил главную страницу
 1 file changed, 12 insertions(+)
 create mode 100644 index.html

Готово: первый снимок проекта в истории. Флаг -m задаёт сообщение коммита, а 3f2a1c9 — начало уникального номера коммита, его хеша.

Дальше цикл всегда один и тот же:

Терминал
# поправили файлы
git status
git add .
git commit -m "Что сделано"

Как писать сообщения коммитов

Сообщение — это записка для себя через месяц и для коллег. Несколько правил:

  • Описывайте, что сделано: «Добавил форму обратной связи», а не «правки» или «фикс».
  • Коротко: одна строка, до 50–70 символов.
  • Один коммит — одна логическая задача. Шапка и подвал — два коммита, если это разные изменения.

Хорошая история читается как журнал работы над проектом.

Попробуйте сами. В папке my-site создайте файлы index.html и style.css. Сделайте два отдельных коммита: сначала только с HTML-файлом, потом со стилями. Перед каждым коммитом проверьте git status.

Решение
Терминал
git init
git status
git add index.html
git commit -m "Добавил разметку главной страницы"
git status
git add style.css
git commit -m "Добавил стили главной страницы"
git status

После последней команды Git ответит, что изменений нет (nothing to commit, working tree clean): всё сохранено в истории.

Мини-тест: проверьте себя

Закрепите урок: несколько вопросов, разбор ответов — в конце.

  1. Какая команда превращает обычную папку в репозиторий Git?

  2. Что делает git add index.html?

  3. Какое сообщение коммита лучше?

  4. Зачем нужен git status?