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 qu’à un moment donné, le fichier a été commis, j’ai également exécuté:
git rm --cached .idea/workspace.xml
puis a git rm --cached .idea/workspace.xml
la suppression, repoussée à nu.
Mais le fichier continue à apparaître plus tard lorsque je modifie le projet.
Des idées sur ce qui me manque?
Je faisais face au même problème et cela m’a conduit au mur. Le problème a été que le dossier .idea était déjà dans le repository, et ils étaient donc suivis par git, que vous les ayez ou non ignorés. Je recommande ce qui suit après avoir fermé RubyMine / IntelliJ ou tout autre 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, assurez-vous d’ignorer .idea dans votre .gitignore
Bien qu’il soit suffisant de l’ignorer dans le fichier .gitignore du référentiel, je vous suggère d’ignorer globalement les fichiers dot de votre IDE.
Sinon, vous devrez l’append à chaque fichier .gitgnore pour chaque projet sur lequel vous travaillez. En outre, si vous collaborez avec d’autres personnes, il est préférable de ne pas polluer le fichier .gitignore du projet avec une configuration privée qui ne soit pas spécifique au code source du projet.
J’ai eu ce problème tout à l’heure, je devais faire git rm -f .idea/workspace.xml
maintenant il semble avoir disparu (j’ai aussi dû le mettre dans .gitignore
)
Dans le même répertoire où le fichier apparaît, faites:
rm .idea/workspace.xml
git rm -f .idea/workspace.xml (as suggested by chris vdp)
vi .gitignore
.idea/workspace.xml
dans l’une des lignes, Esc :wq
Tu devrais être bien maintenant
J’ai dû:
Commandes
git rm -f .idea/workspace.xml git remote | xargs -L1 git push --all
Les autres committers devraient fonctionner
git pull
Dites simplement à git de ne pas supposer que cela change, peu importe quoi:
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 que vous êtes seul, vous ne voudrez probablement pas le faire. Pour vous, vous voulez avoir un bon sharepoint départ pour reprendre le travail, pour vos coéquipiers également.
Si vous avez plusieurs projets dans votre .idea/workspace.xml
git, .idea/workspace.xml
ne correspondra à aucun fichier.
Au lieu de cela, procédez comme suit:
$ git rm -f **/.idea/workspace.xml
Et faites en sorte que votre fichier .gitignore ressemble à ceci:
# 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/
La façon dont j’ai fait dans Android Studio qui est également basé sur IntelliJ était comme ceci. Dans la boîte de dialog de validation, j’ai annulé la modification de workspace.xml, puis elle a été déplacée vers un fichier sans version. Après cela, j’ai supprimé cette boîte de dialog de validation. Maintenant, il n’apparaîtra plus dans la liste des modifications. Notez que mon gitignore incluait déjà .idea / workspace.xml
Étant donné que dans mon cas, je faisais une première validation d’un projet, la suppression des dossiers .git
et .idea
, puis la réinitialisation de git à l’aide de git init
permis de résoudre un problème. Maintenant je n’ai plus d’ .idea
.
Ignorer les fichiers se terminant par .iws
et les fichiers workspace.xml
et tasks.xml
de votre référence .gitignore