
Para muitos desenvolvedores, a pasta .idea no Android Studio sempre foi como uma caixa preta para mim: eu sabia que existia, sabia que era sempre adicionada ao .gitignore, mas decidi descobrir por que eles precisavam deles. ou outros arquivos e pastas, para que eu tenha a oportunidade de lidar com conflitos de git que às vezes surjam e para saber exatamente qual arquivo pode ser adicionado com segurança ao .gitignore e qual não é.
Eu descobri isso no exemplo do projeto em que estou trabalhando. E decidi compartilhar o resultado do que descobri, porque Não encontrei nenhuma documentação sobre isso.
indica o caminho a ser adicionado ao .gitignore
indica o caminho que o Android Studio já adicionou ao .gitignore
e você não deve .gitignore
lo.
indica o caminho que você deve armazenar no git.
assetWizardSettings.xml
Este arquivo armazena o último ícone adicionado usando a interface do Android Studio. Pode ser removido com segurança do VCS.

caches
Os caches, como o nome sugere, podem ser adicionados com segurança ao .gitignore
.
Não vejo razão para mantê-lo no VCS, mas, por padrão, essa pasta não é adicionada ao .gitignore
.
caches / build_file_checksums.ser
De fato, esse arquivo é uma instância serializada de ProjectBuildFilesChecksums .
O arquivo é necessário para verificar se os build.gradle
, settings.gradle
, local.properties
, ~/.gradle/gradle.properties
, gradle.properties
ou build.gradle
de seus módulos foram build.gradle
.
O Android Studio usa esse arquivo para informar que você precisa sincronizar arquivos gradle.
codeStyles
Esta pasta contém as configurações de estilo do código do projeto. É útil fazer a versão se você tiver alterado os estilos de código padrão.
dicionários
A pasta contém a entrada que você adicionou ao dicionário para verificar o código. Este dicionário é importante se você possui regras estritas no seu sistema de IC.
gradle.xml
Eu recomendo excluir este arquivo do git. Pode conter o caminho local para sua versão do gradle, bem como o caminho para o seu módulo. Por exemplo, você pode desenvolver um módulo em um repositório separado, para que o caminho para o módulo possa ser específico para cada usuário.
Por todos esses motivos, excluo permanentemente o arquivo gradle.xml
do VCS.
inspectionProfiles
Esta pasta contém regras específicas do Lint para o seu projeto. Portanto, assim como a pasta de dictionaries
, ela deve ser armazenada no git.
bibliotecas
Ele contém um arquivo que indica onde os arquivos jar de suas bibliotecas estão armazenados. Como o caminho do download pode ser específico para cada usuário, você não deve armazenar esta pasta no VCS.
misc.xml
O arquivo contém informações sobre o projeto: versão Java, tipo de projeto etc.
Essas informações pertencem ao projeto e não dependem do usuário. Portanto, ele deve ser armazenado no git.
modules.xml
Este arquivo contém os caminhos para os arquivos .iml
dos seus módulos. Portanto, por analogia com gradle.xml
ele não pode ser armazenado no git.
navEditor.xml
É aqui que seus itens são armazenados no editor de navegação . Se essas informações são relevantes para o seu projeto, você deve salvar este arquivo no git. Caso contrário, .gitignore
à vontade para adicioná-lo ao .gitignore
para evitar conflitos futuros.
runConfigurations.xml
O nome do arquivo pode sugerir que ele contém configurações que você pode adicionar clicando em "Alterar configurações". Este arquivo deve ser armazenado no VCS.

vcs.xml
Este arquivo contém informações sobre o VCS que você usa no seu projeto. É usado para que você possa usar a interface gráfica para executar operações de controle de versão. Também vale a pena adicionar ao git.
workspace.xml
Ele contém informações sobre seu espaço de trabalho no Android Studio. Por exemplo, a última posição do cursor no arquivo que você abre. Portanto, essas são definitivamente informações do usuário que não há necessidade de armazenar no git.
Sumário
Eu sugiro que você adicione apenas três linhas ao arquivo .gitignore
padrão:
/.idea/assetWizardSettings.xml /.idea/gradle.xml /.idea/caches # Uncomment next line if keeping position of elements in Navigation Editor is not relevant for you # /.idea/navEditor.xml
Como eu disse no começo deste artigo, não encontrei nenhuma documentação sobre o conteúdo da pasta .idea
, portanto, o artigo pode estar incompleto e / ou não ser 100% exato. Se você souber algo mais que não esteja neste artigo, escreva sobre isso nos comentários.