o que deve estar no arquivo .gitignore para um projeto java netbeans?

90

Qual deve ser o conteúdo do arquivo .gitignore para um projeto java no netbeans?

Thuaso
fonte
1
Depende do sistema operacional que você está desenvolvendo também, a maioria dos desenvolvedores de Mac inclui, .DS_Storepois isso é gerado pelo OS X, na maioria dos diretórios, e é supérfluo para o seu aplicativo.
Greg K,
Sou um revelador em windows. Em questão, quero dizer alguns determinados arquivos como .DS_Store. Por exemplo, devo incluir a pasta de construção em .gitignore?
thuaso
3
Esta é, mais ou menos, uma duplicata de stackoverflow.com/questions/1267403/…
David J.

Respostas:

65

Há um número razoável de arquivos que você provavelmente não precisa enviar para o git, já que eles são compilados, são gerados pelo NB ou contêm informações específicas do ambiente.

Se você criar um projeto que usa o Ant como mecanismo de construção, geralmente acabará com uma árvore de diretórios semelhante a esta ...

project-root-directory/
+ nbproject/
  build-impl.xml
  + private/
  + project.properties
  + project.xml
+ src/
+ test/
+ build.xml

Depois de fazer uma construção ... haverá alguns diretórios adicionais

project-root-directory/
+ build/
+ dist/
+ nbproject/
  build-impl.xml
  + private/
  + project.properties
  + project.xml
+ src/
+ test/
+ build.xml

Você provavelmente deve colocar os diretórios build, dist e nbproject / private (e seus filhos) em seu .gitignore.

Se você deseja ser muito agressivo na exclusão de arquivos, pode considerar a exclusão de todos os arquivos que aparecem em nbproject, EXCETO project.properties e project.xml. Os outros arquivos no diretório nbproject são regenerados pelo NetBeans quando o projeto é aberto.

Vkraemer
fonte
4
Uma pergunta muito semelhante foi feita um ano antes e a melhor resposta apontou para um Artigo da Base de Conhecimento do NetBeans que fornece uma resposta semelhante à sua.
David J.
2
@DavidJames - link quebrado agora
Jason S
@JasonS Meu primeiro link ainda é válido; Não consigo editar o segundo link. Mais contexto em Existe uma maneira de corrigir links quebrados nos comentários? Os mods podem editar comentários?
David J.
73
# NetBeans specific #
nbproject/private/
build/
nbbuild/
dist/
nbdist/
nbactions.xml
nb-configuration.xml

# Class Files #
*.class

# Package Files #
*.jar
*.war
*.ear
mono68
fonte
1
Apenas uma observação de que isso se alinha com o NetBeans .gitignore hospedado no GitHub: github.com/github/gitignore/blob/master/Global/…
Steven
1
O .gitignore do NetBeans do GitHub permite que arquivos .jar sejam incluídos no repo. Duvido que seja a melhor prática, mas torna minha vida mais fácil.
Neal Ehardt
... e, como o GitHub .gitignorepara NetBeans, não é totalmente correto. Consulte stackoverflow.com/q/24139478/421049 .
Garret Wilson
3
Adicione barras iniciais aos nomes dos diretórios a serem ignorados. Por exemplo: "/ build /" em vez de apenas "build /". Caso contrário, se você tiver um diretório chamado "build" em algum lugar na estrutura do diretório, ele será ignorado, o que provavelmente não é o que você deseja.
Duncan
1

Não deve haver arquivos específicos do NetBeans em seu arquivo .gitignore. O .gitignorearquivo é específico do projeto, mas compartilhado entre os desenvolvedores. IOW, deve haver apenas coisas comuns a todos os desenvolvedores que trabalham com o código (incluindo aqueles que usam OSX, Linux em vez de Windows e Eclipse, IntelliJ ou Bloco de notas como editores) e que são específicos para o projeto.

Se houver alguns arquivos que você gostaria de ignorar com base em seu ambiente específico (como, por exemplo, Windows Thumbs.dbe desktoparquivos ou nbprojectdiretórios NeBeans ), você deve fazer isso em sua lista global de ignorados, não no específico do projeto .gitignore - apenas porque então você não Não é necessário adicioná-los a cada um de seus projetos individualmente.

Se os arquivos que você deseja ignorar são específicos para o seu ambiente e específicos para o projeto, coloque-os nesse repositório .git/info/exclude.

Jörg W Mittag
fonte
2
Por que usar .git / info / exclude em vez de .gitignore de projetos? Qual é a vantagem / desvantagem se colocado em .gitignore?
Andrew Burns,
@Andrew Burns A diferença entre .gitignore e .git / info / exclude é que o primeiro será versionado (git controla as alterações), enquanto o último não. Eu uso .gitignore porque às vezes altero o que é ignorado e quero que seja associado à versão. Eu gostei dos arquivos .gitignore de amostra aqui .
Ivin
2
Discordo; não prejudica um usuário IntelliJ se um usuário Eclipse faz check-in de arquivos de projeto apropriados (por exemplo, não gerados automaticamente), ou vice-versa. Na verdade, pode ajudar quando um membro da equipe do projeto precisa trabalhar com esse outro IDE. (Isso pode acontecer durante a solução de problemas ou programação em par.)
David J.
1
nb-configuration.xml não deve ser ignorado. Ele deve ser compartilhado entre os desenvolvedores.
DejanLekic