Все разделы
Выбрать школу

Школа. Увлечения. Большое будущее.

PROSCHOOLS · ОБРАЗОВАНИЕ РЯДОМ

Ваш город

Выберите город, чтобы находить образование и возможности рядом.

Как учитываем городКаталог и кнопки «Выбрать школу» покажут школы выбранного города.Онлайн-курсы, учебник, ГДЗ и задания к экзаменам доступны по всей России.

Популярные города

Будет выбран: Вся Россия

Учебные материалы останутся прежними.

Поиск по сайту

По всему сайтуШколы выбранного города — выше в результатах

С чего начнём?

↑ ↓ — выбрать результат · Enter — открыть · Esc — закрыть

Git и контроль версий: первый репозиторий и коммит

💻 Информатика · 9 класс

Рабочая папка, индекс и история: как сохранить осмысленную версию и проверить, что вошло в коммит.

Клавиатура в компьютерном классе
Иллюстрация к предмету «Информатика»Hmartil · Wikimedia Commons · CC BY-SA 4.0

Зачем нужна история

Система контроля версий записывает изменения файлов и позволяет сравнивать состояния проекта. Вместо папок «финал», «финал 2» и «точнофинал» можно сохранять осмысленные версии с описанием. Git работает локально: учётная запись на сайте не требуется для первого учебного репозитория.

Git и GitHub — разные вещи. Git управляет версиями, а GitHub является одним из сервисов размещения репозиториев и совместной работы. Локальный коммит сам по себе не публикует данные в интернете.

Три состояния

Рабочая папка содержит текущие файлы. Индекс, или staging area, хранит подготовленное для следующего коммита. Коммит фиксирует выбранное состояние в истории. Редактирование файла не добавляет его автоматически в индекс и не создаёт новую версию.

Перед опытом установите Git по инструкции для своей ОС и проверьте git --version. Создайте новую пустую учебную папку и откройте в ней терминал. Не выполняйте первое упражнение внутри существующего важного проекта.

Минимальная последовательность

git init

Создайте в редакторе файл notes.txt с одной строкой: First draft. Затем выполните:

git status
git add notes.txt
git diff --cached
git -c user.name="Student" -c user.email="student@example.com" commit -m "Add first note"
git log --oneline

Параметры -c в примере задают учебное имя и адрес только для этой команды, не меняя глобальную настройку компьютера. В реальном проекте используйте согласованные данные автора. Перед коммитом git diff --cached показывает именно подготовленные изменения.

Разобранная ситуация с индексом

Вы записали в notes.txt строку A и выполнили git add. Затем заменили её на B, но не повторили add. В коммит попадёт A: индекс хранит снимок на момент подготовки, а не постоянно синхронизируется с файлом. Git status покажет одновременно подготовленные и неподготовленные изменения.

Чтобы зафиксировать B, снова выполните git add notes.txt и проверьте подготовленную разницу. Не используйте add всех файлов без просмотра: в папке могут находиться лишние черновики или личные данные.

Что коммит не гарантирует

Коммит не проверяет правильность текста или программы. Он фиксирует содержимое и метаданные. Сообщение должно объяснять изменение, а не просто повторять «update». Для совместной работы дополнительно нужны понятные правила веток, проверки и удалённый репозиторий.

Git также не заменяет отдельную резервную копию: потеря единственного диска может уничтожить и рабочие файлы, и локальную историю. Важные данные должны иметь продуманное резервирование.

Что не следует коммитить

Пароли, токены, приватные документы и автоматически создаваемые большие файлы не должны случайно попадать в историю. Gitignore помогает исключать подходящие неотслеживаемые файлы, но не удаляет уже записанный секрет из старых коммитов. В учебном опыте используйте только искусственные данные.

Практика

  1. Публикует ли git commit файлы в интернете?
  2. Что попадёт в коммит после add версии A и последующей правки B без нового add?
  3. Как проверить подготовленную разницу?

Ответы

1. Нет: коммит локальный. 2. A, состояние индекса. 3. Git diff --cached; дополнительно git status показывает состояние файлов. Эти проверки помогают сохранить нужную версию и не включить лишнее.

Связанные материалы

Источники и материалы