Como usar .gitignore e git ignore.
authorThadeu Lima de Souza Cascardo <cascardo@cascardo.eti.br>
Fri, 27 Jun 2014 23:13:03 +0000 (20:13 -0300)
committerThadeu Lima de Souza Cascardo <cascardo@cascardo.eti.br>
Fri, 27 Jun 2014 23:13:03 +0000 (20:13 -0300)
Também é discutido porque ignorar arquivos, e algumas boas práticas.

Trabalhando_com_Git.mdwn

index f4ffdde..987b34d 100644 (file)
@@ -116,4 +116,62 @@ comando git diff.
        +# Instruções de instalação
        ~/project$ 
 
        +# Instruções de instalação
        ~/project$ 
 
+## Ignorando arquivos
 
 
+Em muitas situações, arquivos são gerados a partir de outros, como no
+caso de programas compilados ou minificados. Como boa prática, tais
+arquivos não são mantidos em controle de versão, mas devem ser gerados
+de forma automática e reprodutível.
+
+No entanto, tais arquivos, assim como outros arquivos temporários ou
+gerados pelo sistema operacional podem aparecer constantemente na saída
+de git status e outros comandos. Isso dificulta a leitura da saída
+destes comandos e pode ser evitado com o uso de git ignore.
+
+Seja através do comando git ignore ou editando diretamente o arquivo
+.gitignore, é possível instruir o git a ignorar arquivos que
+correspondam a um padrão. O padrão *.html, por exemplo, faz com que
+todos os arquivos com nome terminado em .html sejam ignorados.
+
+Veja o exemplo abaixo, em que arquivos compilados aparecem quando git
+status é utilizado, e como ignorá-los usando o comando git ignore. O
+comando escreve em um arquivo .gitignore, que também será considerado
+pelo Git. É uma boa prática manter este arquivo sob controle de versão
+e, portanto, ele é adicionado e um novo commit criado.
+
+       ~/project$ git status
+       On branch master
+       Untracked files:
+         (use "git add <file>..." to include in what will be committed)
+
+               hello
+               hello.o
+
+       nothing added to commit but untracked files present (use "git add" to track)
+       ~/project$ git ignore '*.o' hello
+       Adding pattern(s) to: .gitignore
+       ... adding '*.o'
+       ... adding 'hello'
+       ~/project$ git status
+       On branch master
+       Untracked files:
+         (use "git add <file>..." to include in what will be committed)
+
+               .gitignore
+
+       nothing added to commit but untracked files present (use "git add" to track)
+       ~/project$ git add .gitignore
+       ~/project$ git status
+       On branch master
+       Changes to be committed:
+         (use "git reset HEAD <file>..." to unstage)
+
+               new file:   .gitignore
+       ~/project$ git commit -m "Acrescenta lista de arquivos a serem ignorados."
+       [master 8ba73db] Acrescenta lista de arquivos a serem ignorados.
+        1 file changed, 2 insertions(+)
+        create mode 100644 .gitignore
+       ~/project$ git status
+       On branch master
+       nothing to commit, working directory clean
+       ~/project$