web-dev-qa-db-fra.com

Ne peut pas ignorer .idea/workspace.xml - continue à apparaître

En utilisant PHPStorm, j'essaie d'ignorer le workspace.xml qui apparaît chaque fois que j'essaie de faire un commit git.

Mon .gitignore ressemble à:

/.idea/
.idea/workspace.xml

Parce que le fichier a été validé à un moment donné, j'ai également exécuté:

git rm --cached .idea/workspace.xml et ensuite commis la suppression, poussée à un repo nu.

Mais le fichier continue à apparaître plus tard lorsque je modifie le projet.

Des idées sur ce qui me manque?

172
Valentin Despa

J'ai dû:

  • supprimer le fichier de git
  • Poussez le commit vers toutes les télécommandes
  • assurez-vous que tous les autres committers sont mis à jour à distance 

Les commandes

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

Les autres committers devraient courir

git pull
17
Valentin Despa

Je faisais face au même problème et cela m'a fait monter le mur. Le problème a fini par être que le dossier .idea avait déjà été validé dans le référentiel précédemment, et ils étaient donc suivis par git, que vous les ayez ignorés ou non. Je recommanderais ce qui suit, après avoir fermé RubyMine/IntelliJ ou le type IDE que vous utilisez:

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

Après cela, assurez-vous d’ignorer .idea dans votre .gitignore

Bien qu'il soit suffisant de l'ignorer dans le répertoire .gitignore du référentiel, je vous suggérerais d'ignorer globalement les fichiers dot de votre IDE. 

Sinon, vous devrez l'ajouter à chaque .gitgnore pour chaque projet sur lequel vous travaillez. De même, si vous collaborez avec d'autres personnes, il est recommandé de ne pas polluer le fichier .gitignore du projet avec une configuration privée qui n'est pas spécifique au code source du projet. 

232
amerdidit

J'ai eu ce problème tout à l'heure, je devais faire git rm -f .idea/workspace.xml maintenant, il semble avoir disparu (je devais aussi le mettre dans .gitignore)

65
arcanine

Dans le même répertoire où vous voyez apparaître le fichier, faites:

  • rm .idea/workspace.xml
  • git rm -f .idea/workspace.xml (as suggested by chris vdp)
  • vi .gitignore
  • i (pour éditer), ajoutez .idea/workspace.xml dans l'une des lignes, Esc:wq

Tu devrais être bon maintenant

24
Melski

Si vous avez plusieurs projets dans votre dépôt Git, .idea/workspace.xml ne correspond à aucun fichier.

Au lieu de cela, procédez comme suit:

$ git rm -f **/.idea/workspace.xml

Et donnez à votre .gitignore quelque chose comme ça:

# 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

Pour supprimer complètement .idea/ du git sans affecter votre configuration IDE, vous pouvez simplement faire:

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

Il suffit de dire à git de ne pas supposer que c'est changé, peu importe:

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

oui, vous pouvez supprimer les fichiers du référentiel git. Mais si votre équipe utilise tous le même IDE ou si vous êtes seul, vous ne voudrez probablement pas faire cela. Pour vous-même, vous souhaitez avoir un bon point de départ pour reprendre le travail, ainsi que pour vos coéquipiers.

1
Toskan

Puisque dans mon cas, je réalisais un premier commit d'un projet, supprimer simplement les dossiers .git et .idea, puis réinitialiser git à l'aide de git init a permis de résoudre un problème. Maintenant, je n'ai pas du tout .idea.

0
Eduard

Même problème pour moi avec PHPStorm

Finalement j'ai résolu ce qui suit:

  • Supprimer le répertoire . Idea /
  • Déplacez . Gitignore au même niveau sera le nouveau généré . Idea /
  • Ecrivez les fichiers que vous devez ignorer, et . Idea / aussi. Pour être sûr qu'il sera ignoré, j'ai mis ce qui suit:

    • .idée/
    • .idée
    • .idée/*

Je ne sais pas pourquoi fonctionne de cette façon, peut-être que . Gitignore doit être au même niveau de . Idea pour pouvoir être ignoré de ce répertoire.

0
iDon'tKnoware

Voici ce que j'ai fait dans Android Studio, également basé sur IntelliJ. Dans la boîte de dialogue de validation, j'ai annulé la modification pour le fichier workspace.xml, qui a ensuite été déplacé vers un fichier non versionné. Après cela, j'ai supprimé ceci de la boîte de dialogue de validation. Maintenant, il n'apparaîtra pas dans la liste des modifications. Notez que mon gitignore incluait déjà .idea/workspace.xml

0
PK Gupta