Перейти к основному содержимому

Состояния файлов

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

  1. Отслеживаемым (tracked). Об этих файлах Git знает и отслеживает изменения в них. Отслеживаемые файлы в свою очередь могут находится в следующих состояниях:
    1. Неизмененным (unmodified). То есть с момента последнего коммита в файле не было никаких изменений
    2. Измененным (modified). То есть с последнего коммита в файле были произведены какие-то изменения.
    3. Подготовленным к коммиту (staged). Это значит, что вы внесли изменения в этот файл и затем проиндексировали их, и эти изменения будут добавлены в следующий коммит.
  2. Неотслеживаемым (untracked). О неотслеживаемых файлах Git не знает, поэтому изменения в них не будут добавлены в коммит. Это любые файлы в вашем рабочем каталоге, которые не входили в последний коммит и не подготовлены к текущему коммиту.

Наглядная визуализация состояний и переходов между ними (источник: git-scm.com/book):

Визуализация состояний файлов и переходов между ними

Чтобы посмотреть статус текущих файлов, нам потребуется команда git status.

Команда git status

Выводит информацию о статусе файлов, находящихся в репозитории.

Документация здесь.

Предположим, вы добавили в свой проект новый файл, простой файл README.

echo 'My Project' > README

Наша папка будет выглядеть следующим образом:

bmstu/
└── README

Если этого файла раньше не было, и вы выполните git status, вы увидите свой неотслеживаемый файл вот так:

On branch main

No commits yet

Untracked files:
(use "git add <file>..." to include in what will be committed)
README

nothing added to commit but untracked files present (use "git add" to track)

Видно, что на данный момент у нас нет ни одного коммита.

Атрибуция

При подготовке статьи использован материал: