3. Берём проект под контроль версий

Сохранение изменений

На этом этапе в репозитории ещё нет ни файлов, ни изменений. Да, в рабочем дереве есть файл hello.html, но он пока не под контролем версий. Нужно явно добавить все изменения в репозиторий.

Изменение в Git-репозитории называется

(commit). Коммит можно представить как снимок состояния репозитория в определённый момент времени. В нём хранятся все изменения, сделанные с момента прошлого коммита. К коммиту также можно (и нужно) добавлять сообщение с описанием того, что именно поменялось.

Прежде чем создавать коммит, нужно сказать Git, какие именно изменения мы хотим туда включить. В терминах Git нам нужно добавить (add) все нужные изменения в

(staging area). По сути, это просто выбор файлов, которые попадут в следующий коммит.

Теперь давай добавим нашу страницу «Hello, World!» под контроль версий. Для этого есть команда

. После неё пишешь аргумент — файл, который нужно добавить в область подготовки. В нашем случае это hello.html.

Запустить в терминале:
git add hello.html
Задача
Пройдено

Добавь файл hello.html в область подготовки репозитория.

Теперь всё готово для создания первого коммита. Это делается с помощью команды

вот так:

Запустить в терминале:
git commit -m "Initial commit"

У этой команды есть важный флаг -m (сокращение от --message), который позволяет указать сообщение коммита прямо в команде. Хорошее сообщение кратко объясняет, что поменялось, чтобы в будущем тебе и команде было проще разобраться в истории. Если не указать флаг -m, Git откроет текстовый редактор по умолчанию и предложит написать сообщение там.

Если команда коммита была запущена без флага -m, можно заметить, что терминал изменился: история пропала, а на экране появилось пустое окно. Это текстовый редактор, который Git открыл для ввода сообщения. В нём можно написать текст, сохранить его и закрыть редактор — тогда коммит завершится. Обычно это

вроде vim или nano.

Звучит просто. Что может пойти не так? Если эти редакторы в новинку, бывает сложно из них даже просто выйти. Если это твой случай, вот видео, которые помогут выбраться: Vim, Nano.

Если ничего не помогает, закрой вкладку или окно терминала, открой новый и начни заново.

В примере выше фрагмент "Initial commit" — это значение флага -m, наше сообщение коммита. Обрати внимание, что сообщение должно быть в кавычках, чтобы весь текст воспринимался как одно значение. В историю оно запишется уже без них.

Задача
Пройдено

Закоммить файл hello.html в репозиторий.

В выводе должно появиться что-то вроде этого:

Результат:

[main (root-commit) 571a4dd] Initial commit 1 file changed, 1 insertion(+) create mode 100644 hello.html

Хорошая практика — разбивать независимые изменения на разные коммиты. Например, если в проекте появилась новая возможность и исправлена старая ошибка, лучше сделать два разных коммита, а не сливать всё в один. Так можно будет легко откатить новую возможность, не потеряв исправление ошибки. Такой подход называется

.

Иногда staging area называют индексом (index), так как внутренний файл Git, хранящий эту информацию, называется именно так. Поэтому, если кто-то говорит подготовь этот файл или проиндексируй этот файл, он имеет в виду добавь файл в область подготовки.

Next step
Хочешь попробовать Сюжетный режим?

Пройди курс так, как задумано: порционное обучение, чёткий порядок и постепенное открытие статей в Gitопедии. В любой момент можно продолжить работу с настоящим Git прямо в VS Code, Cursor, Antigravity или Windsurf.

Сюжетный режим
БЕСПЛАТНО
(требуется войти в аккаунт)