Не могу игнорировать.идея / рабочее пространство.xml-продолжает выскакивать
используя PHPStorm, я пытаюсь игнорировать workspace.xml который появляется каждый раз, когда я пытаюсь сделать git commit.
мой .gitignore выглядит так:
/.idea/
.idea/workspace.xml
потому что в какой-то момент файл был зафиксирован, я также выполнил:
git rm --cached .idea/workspace.xml а затем совершил удаление, толкнул к голому РЕПО.
но файл продолжает появляться позже, когда я делаю изменения в проекте.
любые идеи о том, что мне не хватает?
9 ответов:
я столкнулся с той же проблемой, и это привело меня к стене. Вопрос оказался, что .папка idea уже была введена в репо ранее, и поэтому они отслеживались git независимо от того, игнорировали ли вы их или нет. Я бы рекомендовал следующее, после закрытия RubyMine / IntelliJ или любой IDE, которую вы используете:
mv .idea ../.idea_backup rm .idea # in case you forgot to close your IDE git rm -r .idea git commit -m "Remove .idea from repo" mv ../.idea_backup .ideaпосле чего обязательно игнорируйте .идея в вашем .gitignore
хотя это достаточно, чтобы игнорировать его в хранилища. gitignore, я бы предложил вам игнорировать dotfiles вашей IDE по всему миру.
в противном случае вам придется добавлять его к каждому .gitgnore для каждого проекта, над которым вы работаете. Также, если вы сотрудничаете с другими людьми, то его лучше не загрязнять проекта .gitignore с частной конфигурацией, которые не относятся к исходному коду проекта.
у меня была эта проблема только сейчас, я должен был сделать
git rm -f .idea/workspace.xmlтеперь он, кажется, ушел (я также должен был положить его в.gitignore)
в том же каталоге, где вы видите файл, появляется do:
rm .idea/workspace.xmlgit rm -f .idea/workspace.xml (as suggested by chris vdp)vi .gitignore- я (редактировать), добавить
.idea/workspace.xmlв одной из линий, Esc,:wqвы должны быть сейчас хорошие
Я:
- удалить файл из git
- нажмите фиксацию для всех пультов
- убедитесь, что все остальные коммиттеры обновлены с удаленного
команды
git rm -f .idea/workspace.xml git remote | xargs -L1 git push --allдругие коммиттеры должны работать
git pull
Если у вас несколько проектов в вашем git РЕПО,
.idea/workspace.xmlне будет соответствовать ни одному файлу.вместо этого, сделайте следующее:
$ git rm -f **/.idea/workspace.xmlи сделать свой .gitignore выглядит примерно так:
# User-specific stuff: **/.idea/workspace.xml **/.idea/tasks.xml **/.idea/dictionaries **/.idea/vcs.xml **/.idea/jsLibraryMappings.xml # Sensitive or high-churn files: **/.idea/dataSources.ids **/.idea/dataSources.xml **/.idea/dataSources.local.xml **/.idea/sqlDataSources.xml **/.idea/dynamic.xml **/.idea/uiDesigner.xml ## File-based project format: *.iws # IntelliJ /out/
просто скажите git, чтобы он не предполагал, что он изменился никогда не имеет значения, что:
git update-index --assume-unchanged src/file/to/ignoreда, вы можете удалить файлы из репозитория Git. Но если ваша команда использует одну и ту же IDE или вы сами, вы, вероятно, не хотите этого делать. Для себя вы хотите иметь хорошую отправную точку для возобновления работы, для ваших товарищей по команде.
то, что я сделал в Android Studio, которая также основана на IntelliJ, было похоже на это. В диалоговом окне фиксации я вернул изменение для рабочей области.xml, затем он был перемещен в неверсионный файл. После этого я удалил это из диалога фиксации. Теперь он не появится в списке изменений. Обратите внимание, что мой gitignore уже включал .идея / рабочее пространство.xml
поскольку в моем случае я выполнял первую фиксацию проекта, просто удалив
.gitи.ideaпапки, а затем повторная инициализация git с помощьюgit initпомог решить проблему. Теперь у меня нет.ideaна всех.
игнорировать файлы, заканчивающиеся на
.iwsиworkspace.xmlиtasks.xmlфайлов в ваше .gitignore ссылка
Comments