it-roy-ru.com

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

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

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

/.idea/
.idea/workspace.xml

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

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

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

Любые идеи о том, что мне не хватает?

172
Valentin Despa

Мне пришлось:

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

Команды

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

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

git pull
17
Valentin Despa

Я столкнулся с той же проблемой, и это привело меня к стене. В итоге проблема заключалась в том, что папка .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

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

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

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

232
amerdidit

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

65
arcanine

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

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

Вы должны быть хорошими сейчас

24
Melski

Если у вас есть несколько проектов в вашем git repo, .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/
4
kerner1000

Чтобы полностью удалить .idea/ из git, не затрагивая конфигурацию IDE, вы можете просто сделать:

git rm -r --cached '.idea/'
echo .idea >> .gitignore
git commit -m "removed .idea/ directory"
1
Johnny Willer

Просто скажите git, чтобы он не предполагал, что он изменен, несмотря ни на что:

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

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

1
Toskan

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

0
Eduard

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

0
PK Gupta