Unstaging и отслеживание в GIT - PullRequest
       49

Unstaging и отслеживание в GIT

0 голосов
/ 11 ноября 2019

Я поставил файл и, чтобы удалить его, использовал git reset.

Но вместо того, чтобы unstaging файл, он принимает файл в «неотслеживаемом» состоянии.

Почему это происходит?

Ответы [ 2 ]

3 голосов
/ 11 ноября 2019

Если файл ранее не отслеживался, то его удаление (т. Е. Удаление из индекса) снова отобразило бы его как неотслеживаемое.

Поскольку git reset сбрасывает записи индексадля этого файла в HEAD, и этот файл не был частью HEAD, он не отслеживается.

0 голосов
/ 11 ноября 2019

Когда вы reset используете файл git reset, этот файл возвращается в состояние, в котором он находится в HEAD. В случае, если файл не находится в HEAD (не зафиксирован в репозитории git), сброс вернет файл в состояние untracked.

Если вы хотите, чтобы новый файл обрабатывался так, как если бы онотслеживается, вы можете использовать команду git add -N, чтобы пометить файл с намерением добавить .

git add -N <file>

- намерение добавить
Только записьтот факт, что путь будет добавлен позже. Запись для пути помещается в индекс без содержимого. Это полезно, помимо прочего, для отображения неустановленного содержимого таких файлов с помощью git diff и фиксации их с помощью git commit -a.

...