Почему git не распознает, что мой файл был изменен, поэтому git add not working

Поэтому я пытаюсь подтолкнуть свои файлы к github с помощью bash. Они уже там, и я загружаю новую версию с новыми строками и кодом и т.д. Но когда я пытаюсь git add, а затем git status, он говорит:

В главном ветки

ничего не зафиксировать, рабочий каталог неактивен

И файл, который я использую, был просто изменен.

Извините, если это было задано раньше.

9 ответов

У меня была проблема, когда однажды я установил для индекса git значение "принимать без изменений" в моем файле.

Вы можете сказать git прекратить игнорировать изменения в файле с помощью:

git update-index --no-assume-unchanged path/to/file

Если это не поможет, то reset может быть достаточно для других странных случаев.

На практике я обнаружил удаление кэшированного файла и сброс его на работу:

git rm --cached path/to/file
git reset path/to/file

git rm --cached означает только удалить файл из индекса, а reset сообщает git перезагрузить индекс git от последнего коммита.


Ну, нам не достаточно, чтобы ответить на этот вопрос, поэтому я дам вам несколько догадок:

1) вы спрятали свои изменения, чтобы исправить тип: git stash pop

2) у вас были изменения, и вы их совершили, вы сможете увидеть свою фиксацию в git log

3) у вас были какие-то изменения git reset --hard или другие, ваши изменения могут быть там в reflog, введите git reflog --all, а затем проверите или выберите cherry-pick ref, если вы когда-нибудь его найдете.

4) вы проверили одно и то же репо несколько раз, и вы ошибаетесь.


У нас была такая забавная вещь, как это происходит. Плагин Eclipse Kepler git автоматически маркировал все папки моего проекта как проигнорированные в папке .gitignore.

Когда я перейду к commit в меню Team, все они вернутся к игнорированию. Насколько я могу судить, это было потому, что я бы установил их как полученные в родительском проекте. Отметив их как dervied, исправлено это. Я никогда не видел этого раньше на Индиго. Надеюсь, это поможет кому-то.


Еще одна возможная причина (которая оказалась верной в моем текущем случае)... проверьте свой .gitignore. Вы можете обнаружить, что файл, с которым вы пытаетесь работать, указан в .gitignore, который объясняет, почему он не распознается как измененный.


В общем, с этой проблемой, сначала проверьте, что вы редактируете файл, который, как вы думаете, вы! У меня была эта проблема, когда я редактировал файл с расширением JavaScript вместо исходного файла (версия с расширением не находилась под контролем источника).


У меня была эта проблема. Моя работа не работала, потому что я помещал свои файлы в папку .git внутри моего проекта.


Какой файл вы пытаетесь загрузить? Теперь я просто потрачу почти час, чтобы загрузить мою модификацию css. Но этот css составлен из стильного файла, поэтому git просто проигнорировал его. Когда я сменил стильный источник, все сработало.

Надеюсь, что это поможет.


Мой Git клиент (Gitg) вызвал эту проблему для меня. Обычные команды, которые я обычно запускал, не работали. Даже касание каждого файла в проекте не работает.

Я нашел способ исправить это, и я все еще не уверен, что вызвало его. Скопируйте каталог проекта. Недопустимые файлы будут отображаться в скопированном каталоге git status. Переименование может сделать то же самое.


попробуйте использовать git add * то git commit

licensed under cc by-sa 3.0 with attribution.