Normalmente, sim, .gitignoreé útil para todos que desejam trabalhar com o repositório. Ocasionalmente, você deseja ignorar mais coisas particulares (talvez você crie com frequência LOGou algo assim. Nesses casos, provavelmente não deseja forçar isso a mais ninguém).
+1 As "coisas particulares" podem ser mencionadas nos arquivos $GIT_DIR/info/excludeou, ~/.gitconfigconforme apropriado.
precisa saber é o seguinte
5
Se você já possui um arquivo registrado e deseja ignorá-lo, o Git não o ignorará se você adicionar uma regra posteriormente. Nesses casos, você deve rastrear o arquivo primeiro, executando o seguinte comando em seu terminal:git rm --cached FILENAME
eli-bd
133
Você normalmente fazer cometer .gitignore. Na verdade, eu vou pessoalmente ao ponto de garantir que meu índice esteja sempre limpo quando não estou trabalhando em algo. (não git statusdeve mostrar nada.)
Há casos em que você deseja ignorar coisas que realmente não são específicas do projeto. Por exemplo, seu editor de texto pode criar *~arquivos de backup automático ou outro exemplo seria os .DS_Storearquivos criados pelo OS X.
Eu diria, se outros estão reclamando sobre essas regras que atrapalham seu .gitignore , deixe-as de fora e coloque-as em um arquivo de exclusão global.
Por padrão, esse arquivo reside em $XDG_CONFIG_HOME/git/ignore(o padrão é ~/.config/git/ignore), mas esse local pode ser alterado definindo a core.excludesfileopção Por exemplo:
Basta criar e editar o arquivo excludes global para o conteúdo do seu coração; será aplicado a todos os repositórios git em que você trabalha nessa máquina.
Você sempre pode adicionar # some commentlinhas ao.gitignore arquivo para explicar por que está ignorando alguma coisa. Comentando cada linha é um pouco de exagero, mas eu tenho têm seções rotulado # IDE (Eclipse), # OS (Mac OS X)e # Generated (Perl). Dessa forma, se alguém quiser usar um SO ou IDE diferente, poderá adicionar uma seção e todos nós podemos compartilhar.
Stuart R. Jefferys
9
polegares para "Eu, pessoalmente, me certifico de que meu índice esteja sempre limpo quando não estou trabalhando em algo. (o status git não deve mostrar nada.)"
SGhosh
4
Nb. com Git moderno o valor padrão para core.excludesfileseja ~/.config/git/ignore, em conformidade com XDG Base de Dados de Especificação Diretório
Jakub Narębski
1
+1 para global .gitignore - Extremamente benéfico quando as pessoas com quem você trabalha discordam sobre o conteúdo dos .gitignorearquivos enviados ou se devem ser enviados, e todos nós usamos vários ambientes de desenvolvimento diferentes que geram tipos diferentes de ruído.
Coloquei commit .gitignore, que é uma cortesia para outros que podem criar meu projeto de que os seguintes arquivos são derivados e devem ser ignorados.
Eu costumo fazer um híbrido. Eu gosto de fazer o makefile gerar o arquivo .gitignore, pois o makefile conhecerá todos os arquivos associados ao projeto - derivados ou não. Depois, faça o check-in de um projeto de nível superior .gitignore, que ignoraria os arquivos .gitignore gerados criados pelo makefile para os vários subdiretórios.
Portanto, no meu projeto, eu posso ter um subdiretório bin com todos os executáveis criados. Então, meu makefile gera um .gitignore para esse diretório bin. E no diretório superior .gitignore que lista bin / .gitignore. O primeiro é o que eu faço check-in.
A confirmação do .gitignore pode ser muito útil, mas você deseja garantir que não o modifique demais posteriormente, especialmente se você alternar regularmente entre as ramificações. Se você conseguir casos em que os arquivos são ignorados em uma ramificação e não na outra, forçando-o a excluir ou renomear manualmente os arquivos no diretório de trabalho, porque houve uma falha no check-out, pois substituiria um arquivo não rastreado.
Portanto, sim, confirme seu .gitignore, mas não antes de ter certeza de que não mudará muito depois disso.
Isso não responder à pergunta: deve .gitignore-se ser " .gitignore'd"?
Charles Wood
6
Preste atenção, que não foi a questão, e isso faz responder o que foi perguntado: "é [ele] uma boa prática para cometer .gitignore em um repositório git?".
Papercowboy #
5
@ Cayuu Eu acredito que a resposta diz "é uma boa prática .Gitignore" xyz, não vejo como ele responde à pergunta. a questão é se .gitignore deve ser controlado por versão ou não.
Respostas:
Normalmente, sim,
.gitignore
é útil para todos que desejam trabalhar com o repositório. Ocasionalmente, você deseja ignorar mais coisas particulares (talvez você crie com frequênciaLOG
ou algo assim. Nesses casos, provavelmente não deseja forçar isso a mais ninguém).fonte
$GIT_DIR/info/exclude
ou,~/.gitconfig
conforme apropriado.git rm --cached FILENAME
Você normalmente fazer cometer
.gitignore
. Na verdade, eu vou pessoalmente ao ponto de garantir que meu índice esteja sempre limpo quando não estou trabalhando em algo. (nãogit status
deve mostrar nada.)Há casos em que você deseja ignorar coisas que realmente não são específicas do projeto. Por exemplo, seu editor de texto pode criar
*~
arquivos de backup automático ou outro exemplo seria os.DS_Store
arquivos criados pelo OS X.Eu diria, se outros estão reclamando sobre essas regras que atrapalham seu
.gitignore
, deixe-as de fora e coloque-as em um arquivo de exclusão global.Por padrão, esse arquivo reside em
$XDG_CONFIG_HOME/git/ignore
(o padrão é~/.config/git/ignore
), mas esse local pode ser alterado definindo acore.excludesfile
opção Por exemplo:Basta criar e editar o arquivo excludes global para o conteúdo do seu coração; será aplicado a todos os repositórios git em que você trabalha nessa máquina.
fonte
# some comment
linhas ao.gitignore
arquivo para explicar por que está ignorando alguma coisa. Comentando cada linha é um pouco de exagero, mas eu tenho têm seções rotulado# IDE (Eclipse)
,# OS (Mac OS X)
e# Generated (Perl)
. Dessa forma, se alguém quiser usar um SO ou IDE diferente, poderá adicionar uma seção e todos nós podemos compartilhar.core.excludesfile
seja~/.config/git/ignore
, em conformidade com XDG Base de Dados de Especificação Diretório.gitignore
- Extremamente benéfico quando as pessoas com quem você trabalha discordam sobre o conteúdo dos.gitignore
arquivos enviados ou se devem ser enviados, e todos nós usamos vários ambientes de desenvolvimento diferentes que geram tipos diferentes de ruído.Coloquei commit .gitignore, que é uma cortesia para outros que podem criar meu projeto de que os seguintes arquivos são derivados e devem ser ignorados.
Eu costumo fazer um híbrido. Eu gosto de fazer o makefile gerar o arquivo .gitignore, pois o makefile conhecerá todos os arquivos associados ao projeto - derivados ou não. Depois, faça o check-in de um projeto de nível superior .gitignore, que ignoraria os arquivos .gitignore gerados criados pelo makefile para os vários subdiretórios.
Portanto, no meu projeto, eu posso ter um subdiretório bin com todos os executáveis criados. Então, meu makefile gera um .gitignore para esse diretório bin. E no diretório superior .gitignore que lista bin / .gitignore. O primeiro é o que eu faço check-in.
fonte
A confirmação do .gitignore pode ser muito útil, mas você deseja garantir que não o modifique demais posteriormente, especialmente se você alternar regularmente entre as ramificações. Se você conseguir casos em que os arquivos são ignorados em uma ramificação e não na outra, forçando-o a excluir ou renomear manualmente os arquivos no diretório de trabalho, porque houve uma falha no check-out, pois substituiria um arquivo não rastreado.
Portanto, sim, confirme seu .gitignore, mas não antes de ter certeza de que não mudará muito depois disso.
fonte
É uma boa prática,
.gitignore
pelo menos, criar seus produtos (programas, * .o, etc.).fonte
.gitignore
-se ser ".gitignore
'd"?