Почему все файлы проекта попадают в changes?

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

Когда Git обнаруживает изменения в файлах, он добавляет их в "Stage" - промежуточную область, которая отображает файлы, которые готовы быть включенными в следующий коммит. В разделе "На изменение" отображаются не только новые файлы, но и изменения в существующих файлах и удаление файлов.

Важно отметить, что изменения, которые попадают в область "На изменение" (или стадию), не являются окончательными коммитами. Они представляют лишь предложение для коммита. По сути, коммит делает снимок состояния всей системы контроля версий на данный момент времени.

Почему все изменения попадают в "На изменение"? Причина заключается в том, что Git следит за всеми файлами в папке проекта и сохраняет их состояние в свою внутреннюю базу данных. Это позволяет Git отслеживать историю изменений и контролировать версии файлов.

Иногда вы могли бы хотеть исключить определенные файлы или папки из контроля Git. Для этого существует файл ".gitignore", где вы можете указать файлы или папки, которые должны быть проигнорированы системой контроля версий.

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