2017-01-25 3 views
5

У меня есть проект Webstorm, который я собирался совершить, но перед нажатием кнопки фиксации в графическом интерфейсе Git Windows я помню, что не хочу фиксировать содержимое папки .idea.Очистить локальный кеш git

Поэтому я использовал веб-сайт, который автоматически генерирует .gitignores для определенных IDE и добавляет его в мой файл .gitignore.

Все файлы .idea, которые явно игнорируются, по-прежнему отображаются для фиксации, несмотря на то, что я удаляю и повторно добавляет файлы, о которых идет речь.

Я также передал файл gitignore без каких-либо других файлов и повторно вставил свой контент, но он по-прежнему не игнорирует файлы .idea.

Как сообщить Git об обновлении или очистке кеша?
Я попытался/CD ать в каталоге в вопросе, и набрав

git clean -n

но файлы не отображаются.

ответ

21

Все .idea файлы, которые явно игнорировали все еще обнаруживаются совершить

вы должны удалить их формирования промежуточной площадки

git rm --cached .idea 

теперь вы должны зафиксировать эти изменения и с этого момента они будут проигнорированы.
После того, как git начнет отслеживать изменения, он не будет «останавливать» отслеживание их, даже если они были добавлены в файл .gitignore позже.

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

+2

Я никогда не совершать файлы, которые я пытаюсь игнорировать, хотя .. Это говорит мне 'фатальным: pathspec«.idea»не соответствует любым файлам – jozenbasin

+0

Когда вы вводите статус git, вы видите их? WebStorm, возможно, добавил их для вас, если вы отметили флажок для автоматического добавления файлов. – CodeWizard

+2

. Я понятия не имею, но, похоже, команда, с которой вы мне отработали, даже если она вернула фатальную ошибку ... Файлы больше не отображаются для фиксации , – jozenbasin

0

Когда вы думаете, что ваш git испорчен, вы можете использовать эту команду, чтобы сделать все актуальным.

git rm -r --cached . 
git add . 
git commit -am 'git cache cleared' 
git push 

также вернуться обратно последней фиксации использовать это:

git reset HEAD^ --hard 
Смежные вопросы