3. Добавляем проект в Git

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

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

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

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

Теперь давай добавим нашу страницу «Hello, World!» под контроль версий. Для этого есть команда git add. После неё пишешь аргумент — файл, который нужно добавить в область подготовки. В нашем случае это hello.html.

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

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

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

Запустить в терминале:
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 IDE.

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