В чем разница Changes not staged for commit и Untracked files (команда git add)?

Изучаю гит.
Возник вопрос по Changes not staged for commit, Untracked files и команде git add.
(не рассматриваем вопрос аллиасов позволяющих коммитить одной командой)

Вопрос простой, но вот в чем недопонимание:

Я создал файл file1.txt
git status - Untracked files: file1.txt
git add file.txt
Changes to be committed: file1.txt
git commit...
Всё хорошо. Добавил, закоммитил.

Далее я изменил файл file1.txt
git status - Changes not staged for commit: file1.txt
То есть его надо снова добавлять git add - ясно.

Далее я создал файл file3.txt
git status - Untracked files: file3.txt

Итого git add добавляет в индекс и Changes not staged for commit и Untracked files.
И в чем тогда разница?
И новый файл и уже существующий, с изменениями, невозможно закоммитить без git add.

Смысл их делить на Changes not staged for commit и Untracked files?
Что там новые изменения в файлах, что тут новый файл.
  • Вопрос задан
  • 92 просмотра
Пригласить эксперта
Ответы на вопрос 1
Krasnodar_etc
@Krasnodar_etc
little front
Untracked files - файл ещё не был добавлен в репозиторий, изменения в нём не отслеживаются, гит видит только факт появления нового файла с кодом. Можете добавить такие файлы в .gitignore и они не попадут в репозиторий, в отличии от tracked files

Changes not staged for commit - изменения в этих файлах ещё не были добавлены в индекс для следующего коммита.

Это просто логическое разделение сущностей. Для git add . разницы нет
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы