Не могу игнорировать.идея / рабочее пространство.xml-продолжает выскакивать



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



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



/.idea/
.idea/workspace.xml


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



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



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



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

853   9  

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.xml
  • git 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

    Ничего не найдено.