Quais arquivos devem estar no meu .gitignore
para um projeto do Android Studio?
Eu já vi vários exemplos que incluem, .iml
mas os documentos do IntelliJ dizem que isso .iml
deve ser incluído no seu controle de origem.
git
android-studio
gitignore
respectTheCode
fonte
fonte
Respostas:
Atualizado para o Android Studio 3.0 Compartilhe os itens ausentes nos comentários.
Uma resposta tardia, mas nenhuma das respostas aqui e aqui estava certa para nós ...
Então, aqui está o nosso arquivo gitignore:
Desde o Android Studio 2.2 e até 3.0, novos projetos são criados com este arquivo gitignore:
Descontinuado - para formato de projeto mais antigo, adicione esta seção ao seu arquivo gitignore:
Este arquivo deve estar localizado na pasta raiz do projeto e não dentro da pasta do módulo do projeto.
Editar notas:
Desde a versão 0.3+, parece que você pode confirmar e enviar arquivos * .iml e build.gradle . Se o seu projeto for baseado no Gradle: na nova caixa de diálogo Abrir / Importar, marque a
"use auto import"
caixa de seleção e marque o"use default gradle wrapper (recommended)"
botão de opção. Todos os caminhos agora são relativos, como @ George sugeriu.Resposta atualizada de acordo com a fonte anexada @ 128KB e as sugestões @ Skela
fonte
.iml
arquivos, a menos que não queira lidar com aborrecimentos desnecessários se outros usuários nomearem o projeto de maneira diferente quando fizerem o check-out.Com base no meu .gitignore normal do Android , e depois de ler a documentação no site da Intellij IDEA e ler as postagens no StackOverflow, criei o seguinte arquivo:
Observe também que, como indicado, a seção de arquivos nativos criados é útil principalmente quando você cria seu próprio código nativo com o NDK do Android. Se, por outro lado, você estiver usando uma biblioteca de terceiros que inclui esses arquivos, remova essas linhas (* .o e * .so) do seu .gitignore.
fonte
.idea/libraries
? Eles devem ser compartilhados ou excluídos na sua opinião?Atualizado 7/2015:
Aqui está a fonte definitiva do JetBrains
Formato de projeto baseado em diretório (diretório .idea)
Esse formato é usado por todas as versões recentes do IDE por padrão. Aqui está o que você precisa compartilhar:
.idea
diretório na raiz do projeto, exceto os arquivosworkspace.xml
etasks.xml
que armazenam configurações específicas do usuário.iml
arquivos de módulo que podem ser localizados em diferentes diretórios de módulo (aplica-se ao IntelliJ IDEA)Tenha cuidado ao compartilhar o seguinte:
dataSources.ids
,datasources.xml
pode conter senhas do banco de dados. A IDEA 14 resolve esse problema .Você pode considerar não compartilhar o seguinte:
.idea/libraries
em caso de serem gerados a partir do projeto GradleFormato de projeto herdado (
.ipr
/.iml
/.iws
files).ipr
arquivo do projeto e todos os.iml
arquivos do módulo, não compartilhe o.iws
arquivo, pois ele armazena configurações específicas do usuárioEmbora essas instruções sejam para o IntelliJ IDEA, elas são verdadeiras 100% para o Android Studio.
Aqui está um
.gitignore
trecho que incorpora todas as regras acima:fonte
<orderEntry type="jdk" jdkName="1.6 (38)" jdkType="JavaSDK" />
Observe o número 38 que parece estar sendo incrementado constantemente. (o arquivo misc.xml também tem esse problema).Eu discordo de todas essas respostas. A configuração a seguir está funcionando muito bem para o aplicativo da nossa organização.
Eu ignoro:
/build
/.idea
(com possíveis exceções, veja os comentários na resposta de dalewking )*.iml
local.properties
Eu acho que quase todo mundo concorda em
/build
.Fiquei cansado de ver constantemente mensagens sobre os vários
library.xml
arquivos que Gradle cria ou exclui/.idea
. Elesbuild.gradle
serão executados no local dos desenvolvedores quando eles fizerem o check-out pela primeira vez. Por que esses arquivos XML precisam ser versionados? O Android Studio também gerará o restante/.idea
quando um desenvolvedor criar um projeto usandoCheck out from Version Control
, então por que algo nessa pasta precisa ser versionado?Se a
*.iml
versão for versionada, um novo usuário terá que nomear o projeto exatamente como era quando foi confirmado. Como este também é um arquivo gerado, por que versão em primeiro lugar?Os
local.properties
arquivos apontam para um caminho absoluto no sistema de arquivos para o SDK, portanto, definitivamente não deve ser versionado.Editar 1 : Adicionado
.gradle
para ignorar o material de armazenamento em cache do gradle que não deve ser versionado (obrigado Vasily Makarov ).Edit 2 : Adicionado
.DS_Store
agora que estou usando o Mac. Esta pasta é específica para Mac e não deve ser versionada.Nota adicional : Você provavelmente também deseja adicionar um diretório para inserir suas chaves de assinatura ao criar uma versão de lançamento.
Para conveniência de copiar / colar :
fonte
build/
vez de/build
para corresponder aos diretórios de construção do módulo, comoapp/build
. Use.gradle
para corresponder ao diretório de armazenamento em cache gradle..gitignore
arquivo no diretório de aplicativos que também contém/build
. Isso é gerado automaticamente, não me lembro? Entãobuild/
será aplicado a subpastas?Eu uso esse .gitignore. Encontrei-o em: http://th4t.net/android-studio-gitignore.html
fonte
No caso do Android Studio, os únicos arquivos que precisam ser salvos no controle de versão são os arquivos necessários para criar o aplicativo a partir da linha de comando usando gradle. Então você pode ignorar:
No entanto, se você salvar quaisquer configurações IDE, como configurações personalizadas de estilo de código, elas serão salvas na pasta .idea. Se você deseja essas alterações no controle de versão, salve os arquivos IDEA (* .iml e .idea).
fonte
Android Studio 3.4
Se você criar um projeto Gradle usando o Android Studio, o
.gitignore
arquivo conterá o seguinte:.gitignore
Eu recomendaria ignorar o diretório ".idea" completo, pois contém configurações específicas do usuário, nada importante para o processo de compilação.
Pasta do projeto Gradle
A única coisa que deve estar na sua pasta de projeto (Gradle) após a clonagem de repositório é essa estrutura (pelo menos nos casos de uso que encontrei até agora):
É recomendável fazer o check-in nos scripts do wrapper gradle (veja aqui ).
fonte
Meu conselho seria também para não ignorar a pasta .idea.
Importei um projeto Eclipse baseado em Git para o Android Studio e isso foi bom. Mais tarde, quis importar este projeto com o Git (como a primeira vez) para outra máquina com o Android Studio, mas isso não funcionou. O Android Studio carregou todos os arquivos, mas não conseguiu "ver" o projeto como um projeto. Eu só consegui abrir arquivos Git.
Ao importar o projeto pela primeira vez (do Eclipse para o Android Studio), meu antigo .gitignore foi substituído e o novo ficou assim:
Então, tentei usar um gitignore vazio e agora funcionava. O outro Android Studio pode carregar os arquivos e o Projeto. Acho que alguns arquivos não são importantes
(profiles_settings.xml)
para o Git e a importação, mas estou feliz por ter funcionado.fonte
É a melhor maneira de gerar
.gitignore
via aquifonte
Não há necessidade de adicionar ao controle de origem qualquer um dos seguintes:
Portanto, você pode configurar o hgignore ou o gitignore de acordo.
A primeira vez que um desenvolvedor clona o controle de origem pode:
Isso é tudo
PS: O Android Studio obterá, através do maven, o plug-in gradle, assumindo que o seu build.gradle seja semelhante a este:
O Android studio irá gerar o conteúdo da pasta .idea (incluindo o workspace.xml, que não deve estar no controle de origem porque é gerado ) e a pasta .gradle.
Essa abordagem é compatível com o Eclipse da maneira que o controle de origem realmente não sabe nada sobre o Android Studio. O Android Studio só precisa do build.gradle para importar um projeto e gerar o restante.
fonte
There is NO NEED
sim, existem alguns casos: modelos de direitos autorais que precisam ser compartilhados entre os membros da equipe, por exemplo.Apoio a confirmação da pasta .idea (excluindo
workspace.xml
etasks.xml
). Mas estou começando a concluir que os arquivos .iml devem ser ignorados.Aqui está o problema:
Abra um projeto em um diretório chamado "foo", por exemplo, e você obterá foo.iml e tudo parecerá bem. O problema é que, se eu simplesmente renomear o diretório para foo2 (ou cloná-lo em outro nome de diretório) ao tentar abrir o projeto no Android Studio, você obterá três coisas:
Não consigo encontrar uma maneira de impedir que o Android Studio faça essa geração de arquivos iml quando o projeto é armazenado em um diretório diferente. Adicioná-los ao controle de origem causará problemas. Portanto, acho que talvez devêssemos ignorar os arquivos * .iml e
.idea/modules.xml
fonte
/.idea
e.iml
. Gostaria de saber por que a.idea
pasta deve ser confirmada.library.xml
arquivos que continuavam acionando as mensagens. Além disso, não entendo por que continuo vendo as pessoas dizerem que os arquivos * .iml devem ser incluídos, por isso é ótimo.Testado com Android Studio 3.0
Pode ser necessário instalar o .ignore plugin .
Você pode gerar automaticamente o arquivo .gitignore para Android. Clique com o botão direito na pasta e siga
Em seguida, selecione Android no painel esquerdo e clique em Gerar
O Android Studio gera um arquivo .gitignore que contém todo o arquivo necessário para ser ignorado.
Retirado de http://menukanows.com/how-to-add-gitignore-file-in-android-project/
fonte
Depende de como o formato do seu projeto é mantido:
Você tem duas opções:
.idea
pasta que contém os arquivos específicos do projeto).iws
e.ipr
)Ref: http://www.jetbrains.com/idea/webhelp/project.html
Os arquivos comprometidos com o controle de versão dependem do acima:
workspace.xml
etasks.xml
.ipr
arquivo de controle de versão e todos os.iml
arquivos do módulo excluem o.iws
arquivo, pois ele armazena configurações específicas do usuário.Ref: https://intellij-support.jetbrains.com/entries/23393067
fonte
Basicamente, qualquer arquivo que é regenerado automaticamente.
Um bom teste é clonar seu repositório e ver se o Android Studio é capaz de interpretar e executar seu projeto imediatamente (gerando o que está faltando).
Caso contrário, encontre o que está faltando e verifique se ele não é ignorado, mas adicionado ao repositório.
Dito isto, você pode dar exemplo de
.gitignore
arquivos existentes , como o Android .fonte
Estou ciente de adicionar os arquivos .iml e Intellij sez para adicionar a pasta .idea, mas ignore .idea / workspace.xml e .idea / tasks.xml, mas e quanto a .idea / libraries /?
Não vejo como faz sentido adicionar isso. Ele possui uma lista de arquivos XML que listam as bibliotecas que o projeto Android Studio deve conhecer. Eles devem vir das dependências definidas pelo build.gradle - não um arquivo de projeto do IDE.
Além disso, o conteúdo de um desses arquivos se parece com o seguinte:
Não faz sentido comprometer isso. E se o usuário especificou um diretório inicial diferente para gradle, ou se eles usarem uma versão diferente, o caminho abaixo
.gradle/caches/artifacts-xxx
será diferente para eles (ou seja,artifacts-
o número anexado ao final se relacionará ao lançamento da versão gradle que você está usando. ) Esses caminhos não são universais e, no entanto, o conselho é verificar tudo isso?fonte
A partir do
.gitignore
arquivo Android Studio 0.8.4 é gerado automaticamente ao iniciar um novo projeto. Por padrão, ele contém:fonte
Eu sei que esse é um tópico antigo e certamente existem muitas opções, mas eu realmente prefiro
gibo
Simon Whitaker. É super simples de usar, multiplataforma (mac, * nix e windows) e usa o repositório do githubgitignore
para que esteja (basicamente) sempre atualizado.Verifique se o cache local está atualizado:
Procure o idioma / tecnologia que você precisa:
Exiba o arquivo .gitignore:
Agora, adicione-o ao arquivo .gitignore do seu projeto:
(Certifique-se
>>
de anexar ao arquivo .gitignore do seu projeto; um>
será sobrescrito - como já fiz muitas vezes por acidente!)Eu sei que isso não está respondendo à pergunta exata do OP, mas o uso do gibo faz com que você praticamente não precise mais pensar na 'pergunta'! .. é legal! ;)
fonte
Para ter uma idéia melhor, tudo o que você precisa são os seguintes arquivos
Você pode colocar todo o resto no arquivo .gitignore. Todas as alterações no seu aplicativo estão principalmente nesses arquivos e pastas. O resto que você vê em um projeto básico são arquivos de compilação gradle ou arquivos de configuração do Android Studio.
Se você estiver usando o Android Studio, poderá usar "Importar projeto" para criar o projeto com sucesso. Como alternativa, você pode criar usando a linha de comando, siga Construindo Projetos Android com Gradle .
fonte
É melhor adicionar a lista .gitignore durante o tempo de desenvolvimento para evitar efeitos colaterais desconhecidos quando o Controle de Versão não funcionar por algum motivo, devido à lista predefinida (copiar / colar) de algum lugar. Para um dos meus projetos, a lista de ignorados é apenas de:
fonte
O Github mantém itens úteis do gitignore para vários tipos de projetos. Aqui está a lista de itens úteis do gitignore para projetos Android.
Gitignore para Android no github
fonte
Mesclar arquivos .gitignore do Github
Leia: Suporte ao JetBrains: Como gerenciar projetos em sistemas de controle de versão
fonte
Usando a API fornecida pelo gitignore.io , você pode obter é gerado automaticamente. Aqui está o link direto também gitignore.io/api/androidstudio
fonte
A partir do arquivo .gitignore do Android Studio 0.8.4, é gerado automaticamente ao iniciar um novo projeto. Por padrão, ele contém:
Concordo com esta declaração, no entanto, modifico esse arquivo para alterar / construir para construir / (Isso incluirá / build e / app / build). Portanto, não acabo com todos os arquivos em app / build no meu repositório.
Observe também que, se você importar um projeto do Eclipse, o .gitignore não será copiado ou "criado automaticamente" para você.
fonte
Compilação:
fonte
Para contornar a importação de todos os arquivos, nos quais o Android Studio ignora a lista "Arquivos ignorados", mas ainda utiliza o Android Studio VCS, fiz o seguinte: Isso usará a lista "Arquivos ignorados" do Android Studio (após a importação! Não durante) E evite ter que usar a maneira complicada que o Tortoise SVN define a lista svn: ignore.
A partir de agora, "Arquivos ignorados" será ignorado e você ainda poderá gerenciar o VCS no Android Studio.
Saúde, -Joost
fonte
Android Studio 3.5.3
Eu uso isso para minhas bibliotecas e projetos e abrange a maioria dos arquivos gerados pelo android studio e outras ferramentas famosas:
fonte
Isso é criado usando a referência de http://gitignore.io/ Onde você pode criar o arquivo gitignore atualizado mais recente para qualquer projeto. Para Android http://gitignore.io/api/androidstudio . Espero que isto ajude. Atualmente, estou usando o Android Studio 3.6.3
fonte
Esta documentação oficial do Suporte JetBrains diz que o seguinte deve ser incluído:
Ele também fornece outras recomendações de coisas com as quais você deve ter cuidado.
fonte
.gitignore da biblioteca AndroidRate
fonte
https://github.com/github/gitignore é uma coleção incrível
Android.gitignore
fonte