Vamos inicializar um novo projeto.
Projeto $ mkdir
$ CD Project
$ git init
Repositório Git vazio inicializado em/usuários/zakh_eecs/_work/learngit/git_add/project//.git/
$ echo "novo projeto"> readme.TXT
$ git add readme.TXT
$ git Commit -m "Commits inicial"
[Mestre (Compromisso Raiz) 47B9AF1] Commiti
1 arquivo alterado, 1 inserção (+)
Criar modo 100644 ReadMe.TXT
Neste projeto, adicionamos um readme.arquivo txt. Usamos o comando "git add" para adicionar o readme.TXT. O comando add não é apenas para adicionar arquivos. Ele também adiciona qualquer modificação de arquivo. Para este tutorial, apenas adicionaremos e excluiremos arquivos para simplificar. Mas pense no comando add como adicionando alterações à área de estadiamento. Em seguida, você deve usar o comando commit para tornar as mudanças oficiais.
Quando você está lidando com muitos arquivos e pastas, é difícil adicionar individualmente cada alteração. Então você pode usar os seguintes comandos:
$ git add .
$ git add -a
Vejamos como os dois comandos se comportam:
$ toque a.txt b.txt c.TXT$ touch x.txt y.txt z.TXT
$ git add -a
$ git status
No mestre da filial
Mudanças a serem comprometidas:
(Use "Git Reset Head…" para se soltar)
Novo arquivo: x.TXT
Novo arquivo: y.TXT
Novo arquivo: z.TXT
$ git Commit -m "Add x.txt, y.txt, z.TXT"
[Mestre 8AF8C12] Adicione x.txt, y.txt, z.TXT
3 arquivos alterados, 0 inserções (+), 0 deleções (-)
Criar modo 100644 x.TXT
criar modo 100644 y.TXT
Criar modo 100644 z.TXT
Ambas as opções parecem funcionar da mesma forma.
Para investigar ainda mais, vamos criar uma situação em que adicionamos algo no nível raiz do diretório de trabalho e adicione mais arquivos em uma pasta:
$ toque 1.TXT
$ mkdir novo
$ CD novo
$ touch m.txt n.txt o.TXT
$ git add .
$ git status
No mestre da filial
Mudanças a serem comprometidas:
(Use "Git Reset Head…" para se soltar)
Novo arquivo: M.TXT
Novo arquivo: n.TXT
Novo arquivo: O.TXT
Arquivos não rastreados:
(Use "git add…" para incluir no que será comprometido)
… /1.TXT
AVISO Git não adicionou o 1.arquivo txt na pasta de nível superior.
Se criamos uma pasta chamada aninhada com D.arquivo txt e use o git add. comando novamente, vemos que o.txt foi adicionado apenas 1.txt ainda não foi adicionado.
$ mkdir aninhado
$ touch aninhado/d.TXT
$ git add .
$ git status
No mestre da filial
Mudanças a serem comprometidas:
(Use "Git Reset Head…" para se soltar)
Novo arquivo: M.TXT
Novo arquivo: n.TXT
Novo arquivo: aninhado/d.TXT
Novo arquivo: O.TXT
Arquivos não rastreados:
(Use "git add…" para incluir no que será comprometido)
… /1.TXT
Agora vamos usar o comando git add -a:
$ git add -a
$ git status
No mestre da filial
Mudanças a serem comprometidas:
(Use "Git Reset Head…" para se soltar)
Novo arquivo:… /1.TXT
Novo arquivo: M.TXT
Novo arquivo: n.TXT
Novo arquivo: aninhado/d.TXT
Novo arquivo: O.TXT
Agora, 1.txt na pasta foi adicionado à área de estadiamento.
Veja como as pastas parecem
Então, quando você está usando “add add .”Comando, ele adicionará todas as alterações desse nível. Mas quando você usa a opção “Git add -a”, ele procurará modificações em todo o módulo e adicione -as.
Conclusão
Comando add git fornece maneiras poderosas de adicionar arquivos modificados. Você pode usar seus códigos hierarquia de diretório natural para controlar o que é adicionado.