Что приводит к тому, что файл становится неотслеживаемым в Git?

#git #git-untracked

#git #git-неотслеживаемый

Вопрос:

Я новичок в Git и проделал некоторую работу над некоторыми файлами .scss, которые компилируются в файлы .css с помощью Gulp.

Я выполнил свою работу и теперь готов отправить мои измененные файлы на Github. Однако при этом я вижу 3 неотслеживаемых файла git status : журнал, файл .js и файл .scss.

Как эти файлы были помечены как неотслеживаемые? Я думал, что должен был указать это сам.

Комментарии:

1. Все новые файлы, которые появляются в рабочей области и которые еще не были в репозитории, не отслеживаются.

Ответ №1:

В git все файлы, которые находятся в рабочем каталоге, но не были явно добавлены (т. Е. git add ), помечаются как «неотслеживаемые». Это фактически означает, что они существуют, но git не отслеживает изменения в них.

Комментарии:

1. А, хорошо. Итак, в таком случае, почему отслеживались другие файлы? Я еще не использовал git add, так что разве все они не должны отображаться как неотслеживаемые?

2. Это не нормально, потому git add что вы также в конечном итоге добавляете содержимое этих файлов в область индекса — когда вы только хотели отслеживать эти файлы.

3. вы клонировали репозиторий @MeltingDog или вы запустили новый репозиторий?

4. Это новый репозиторий. Да, это то, что я говорил: я еще не использовал git add с этой веткой, так как же их можно отследить?

5. @MeltingDog По праву в чистом репозитории git ничего не должно отслеживаться. Если у вас есть отслеживаемые файлы в чистом репозитории git, это очень странно

Ответ №2:

Файл по умолчанию находится в untracked состоянии. Вы должны добавить его в git, чтобы убедиться, что git начнет его отслеживать.

Вы можете отслеживать конкретный файл, написав следующее

git update-index --no-assume-unchanged <path_to_file>

если вы хотите снова отменить отслеживание файла, вы можете сделать это через

git update-index --assume-unchanged <path_to_file>

git update-index регистрирует файл для индексации — таким образом, начинается отслеживание файла. Однако, как уже сообщалось в других ответах git add , содержимое файла также добавляется в индекс, что добавляет отслеживание файла и добавляет этот файл в промежуточную область (готов к фиксации)

Комментарии:

1. Для того, кто только начал изучать git, это излишне сложно. Я не могу назвать ситуацию за пределами ниш, в которой вы хотели бы такого поведения, а не просто внесения изменений в файл git add . Черт возьми, даже справка для git status git дает «использовать»git add» для отслеживания»

2. «излишне сложно» — вы все равно должны говорить правильные вещи. Скорее, я чувствую, что когда вы изучаете что-то новое, это лучшее время для поиска правильных вещей, в противном случае существует тенденция игнорировать правильные вещи во имя сложных вещей !