Не может ignore.idea/workspace.xml - продолжает появляться


Используя PhpStorm, я пытаюсь игнорировать workspace.xml, который появляется каждый раз, когда я пытаюсь совершить git-коммит.

Мой .gitignore выглядит так:

/.idea/
.idea/workspace.xml

Поскольку в какой-то момент файл был зафиксирован, я также выполнил:

git rm --cached .idea/workspace.xml а затем совершил удаление, толкнул на голое репо.

Но файл продолжает появляться позже, когда я делаю изменения в проекте.

Есть идеи по поводу того, чего мне не хватает?

Author: Valentin Despa, 2013-11-14

9 answers

Я столкнулся с той же проблемой, и это заставило меня подняться на стену. Проблема заключалась в том, что папка .idea УЖЕ была ранее передана в репозиторий, и поэтому git отслеживал их независимо от того, игнорировали вы их или нет. Я бы рекомендовал следующее после закрытия RubyMine/IntelliJ или любой другой среды разработки, которую вы используете:

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

После этого обязательно игнорируйте .idea в своем .gitignore

Хотя достаточно проигнорировать его в репозитории .gitignore, я бы посоветовал вам игнорировать точечные файлы вашей IDE по всему миру.

В противном случае вам придется добавлять его в каждый файл .gitgnore для каждого проекта, над которым вы работаете. Кроме того, если вы сотрудничаете с другими людьми, то лучше всего не загрязнять .gitignore проекта частными настройками, которые не относятся к исходному коду проекта.

 202
Author: amerdidit, 2017-09-21 10:29:47

У меня только что была эта проблема, я должен был сделать git rm -f .idea/workspace.xml теперь, похоже, она исчезла (мне также пришлось поместить ее в .gitignore)

 61
Author: arcanine, 2014-08-27 21:40:30

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

  • rm .idea/workspace.xml
  • git rm -f .idea/workspace.xml (as suggested by chris vdp)
  • vi .gitignore
  • я (для редактирования), добавьте .idea/workspace.xml в одну из строк, Esc, :wq

Теперь ты должен быть хорошим

 21
Author: Melski, 2017-09-11 16:01:40

Я должен был:

  • удалите файл из git
  • передайте фиксацию на все удаленные устройства
  • убедитесь, что все остальные коммиттеры обновлены с удаленного

Команды

git rm -f .idea/workspace.xml
git remote | xargs -L1 git push --all

Другие коммиттеры должны запускать

git pull
 13
Author: Valentin Despa, 2017-09-29 05:51:35

Если у вас несколько проектов в вашем репозитории 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/
 2
Author: kerner1000, 2017-09-15 21:23:17

Просто скажите мерзавцу, чтобы он не предполагал, что это изменилось, неважно, что:

git update-index --assume-unchanged src/file/to/ignore

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

 1
Author: Toskan, 2017-06-29 21:02:06

То, как я сделал в Android Studio, которая также основана на IntelliJ, было похоже на это. В диалоговом окне фиксации я отменил изменение для workspace.xml, затем он был перемещен в неверсированный файл. После этого я удалил это из диалога фиксации. Теперь он не появится в списке изменений. Обратите внимание, что мой gitignore уже включал.idea/workspace.xml

 0
Author: PK Gupta, 2017-10-04 10:50:01

Поскольку в моем случае я выполнял первую фиксацию проекта, простое удаление папок .git и .idea, а затем повторная инициализация git с помощью git init помогли решить проблему. Теперь у меня вообще нет .idea.

 0
Author: Eduard, 2018-03-16 23:25:22

Игнорируйте файлы, заканчивающиеся на .iws, а также файлы workspace.xml и tasks.xml в вашем .gitignore Ссылка

 -1
Author: josef, 2016-05-30 11:30:48