Запись изменений в репозиторий

Итак, у вас имеются настоящий Git-репозиторий и рабочая копия файлов для некоторого проекта.

Вам нужно делать некоторые изменения и фиксировать "снимки" состояния (snapshots) этих изменений в вашем репозитории каждый раз, когда проект достигает состояния, которое вам хотелось бы сохранить.

Запомните, каждый файл в вашем рабочем каталоге может находиться в одном из двух состояний: под версионным контролем и не под версионным контролем. Файлы под версионным контролем - это те файлы, которые были в последнем снимке состояния проекта. Они могут быть неизменёнными, изменёнными и индексированными. Файлы не под версионным контролем - это всё остальное, любые файлы в вашем рабочем каталоге, которые не входили в ваш последний снимок состояния и не подготовлены к фиксации.

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

Как только вы отредактируете файлы, Git будет рассматривать их как изменённые, т. к. вы изменили их с момента последнего коммита. Вы индексируете эти изменения и затем фиксируете все индексированные изменения, а затем цикл повторяется.