Intellij Idea 9/10, em quais pastas verificar (ou não) o controle de origem?


119

Nossa equipe acabou de passar do Netbeans para o Intellij 9 Ultimate e precisa saber quais arquivos / pastas normalmente devem ser excluídos do controle de origem, pois não são "portáteis de estação de trabalho", ou seja: referenciam caminhos que existem apenas no computador de um usuário.

Até onde eu sei, a Intellij quer ignorar a maior parte do projeto .idea, incluindo

.idea/artifacts/*
.idea/inspectionProfiles/*
.idea/copyright/*
.idea/dataSources.ids
.idea/dataSources.xml
.idea/workspace.xml

No entanto, parece querer verificar os .imlarquivos que existem no diretório raiz de cada módulo.

Inicialmente, verifiquei o .ideadiretório inteiro por meio da linha de comando, que obviamente não está ciente do que "deveria" ser ignorado pelo Idea. O .ideadiretório inteiro normalmente é ignorado?

Respostas:


104

Temos um artigo de perguntas frequentes que cobre esta pergunta.

O formato [.idea] é usado por todas as versões recentes do IDE por padrão. Aqui está o que você precisa compartilhar:

  • Todos os arquivos no diretório .idea na raiz do projeto, exceto os arquivos workspace.xml e task.xml que armazenam configurações específicas do usuário
  • Todos os arquivos de módulo .iml que podem ser localizados em diferentes diretórios de módulo (aplica-se ao IntelliJ IDEA)

Tenha cuidado ao compartilhar o seguinte:

  • Artefatos Android que produzem uma construção assinada (conterão senhas de keystore)
  • No IDEA 13 e em dataSources.ids anterior , datasources.xml pode conter senhas do banco de dados. A IDEA 14 resolve esse problema .

Você pode considerar não compartilhar o seguinte:

  • arquivos .iml para os projetos baseados em Gradle ou Maven , pois esses arquivos serão gerados na importação
  • arquivo gradle.xml , consulte esta discussão
  • pasta de dicionários do usuário (para evitar conflitos se outro desenvolvedor tiver o mesmo nome)
  • Arquivos XML em .idea / libraries , caso sejam gerados a partir do projeto Gradle ou Maven

.idea O diretório substitui o antigo arquivo .ipr (Idea Project) e, se você deseja compartilhar o projeto entre os usuários, precisa compartilhar a pasta .idea (com as exceções mencionadas na FAQ) e todos os arquivos .iml.


2
Sim, está atualizado, não houve grandes alterações nos arquivos do projeto.
CrazyCoder

72
@CrazyCoder (+1) Tornaria nossa vida mais fácil se vocês colocassem os arquivos específicos do projeto e os arquivos específicos do usuário em diretórios separados.
IJ Kennedy

3
Comentar sobre um encadeamento antigo, mas a abordagem das FAQ de compartilhar toda a pasta .idea (exceto workspace.xml e tasks.xml) é problemática porque vários arquivos são alterados entre máquinas e entre sessões. O que realmente me incomoda: Python / Library no Mac está em dois lugares diferentes em Macs diferentes, então o pycharm.xml aparece por aí.
Matthew Cornell

29
essa é uma desculpa muito ruim para um FAQ. é uma grande discussão com pessoas fazendo perguntas. Que tal um exemplo .gitignore para um projeto?
Jeffrey Blattman

12
é inacreditável / impossível haver "alguns sim, outros não" na mesma pasta - isso ainda é a mesma loucura quatro anos depois? graças
Fattie



5

Você pode achar este post interessante: Mescla nos arquivos .IPR e .IWS do IntelliJ IDEA

Parece a concluir que você deve adicionar todos os arquivos, exceto para: workspace.xml, dataSources.xml, sqlDataSources.xmle dynamic.xml. A resposta está focada em ter arquivos que não mudam simplesmente de abrir o editor ou fazer alterações específicas de ide.


4

Estou usando o PHPStorm.

Aqui está um exemplo de trecho para o seu .gitignore

# Ignore the following 2 PHPStorm files only workspace and tasks file
**/.idea/workspace.xml
**/.idea/tasks.xml

Todos os outros arquivos no .ideadiretório devem ser confirmados no seu repositório.

por exemplo: (comprometa todo o resto do .ideadiretório)

new file:   .idea/.name
new file:   .idea/encodings.xml
new file:   .idea/framework.iml
...

Docs: como gerenciar projetos em sistemas de controle de versão

Aqui está o que você precisa compartilhar:

Todos os arquivos no diretório .idea na raiz do projeto, exceto os arquivos workspace.xml e task.xml que armazenam configurações específicas do usuário

Todos os arquivos de módulo .iml que podem ser localizados em diferentes diretórios de módulo (aplica-se ao IntelliJ IDEA)

Então, basicamente, comprometa tudo, exceto workspace.xmle tasks.xml.


0

Sim, acredito que sim. Você pode verificar a configuração do SVN para ver o que é ignorado e adicionar tudo o que acha que deve ser ignorado.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.