Vamos inicializar um novo projeto.
projeto $ mkdirprojeto $ cd
$ git init
Repositório Git vazio inicializado em / Users / zakh_eecs / _work / LearnGIT / git_add / project /.git /
$ echo "Novo Projeto"> LeiaMe.TXT
$ git add ReadMe.TXT
$ git commit -m "Confirmação inicial"
[master (root-commit) 47b9af1] Confirmação inicial
1 arquivo alterado, 1 inserção (+)
modo de criação 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 serve apenas para adicionar arquivos. Ele também adiciona qualquer modificação de arquivo. Para este tutorial, vamos apenas adicionar e excluir arquivos para mantê-lo simples. Mas pense no comando add como adicionar mudanças à área de teste. Então, você tem que 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. Portanto, você pode usar os seguintes comandos:
$ git add .$ git add -A
Vejamos como os dois comandos se comportam:
$ touch a.txt b.txt c.TXT$ git add .
$ git status
No mestre de filial
Mudanças a serem confirmadas:
(use "git reset HEAD
novo arquivo: a.TXT
novo arquivo: b.TXT
novo arquivo: c.TXT
$ git commit -m "Adicionar um.txt, b.txt, c.TXT"
[master 9ca90fc] Adicionar um.txt, b.txt, c.TXT
3 arquivos alterados, 0 inserções (+), 0 exclusões (-)
modo de criação 100644 a.TXT
modo de criação 100644 b.TXT
modo de criação 100644 c.txt $ touch x.txt y.txt z.TXT
$ git add -A
$ git status
No mestre de filial
Mudanças a serem confirmadas:
(use "git reset HEAD
novo arquivo: x.TXT
novo arquivo: y.TXT
novo arquivo: z.TXT
$ git commit -m "Adicionar x.txt, y.txt, z.TXT"
[master 8af8c12] Adicionar x.txt, y.txt, z.TXT
3 arquivos alterados, 0 inserções (+), 0 exclusões (-)
modo de criação 100644 x.TXT
modo de criação 100644 y.TXT
modo de criação 100644 z.TXT
Ambas as opções parecem funcionar da mesma maneira.
Para investigar mais, vamos criar uma situação em que adicionamos algo no nível raiz do diretório de trabalho e, em seguida, adicionamos mais arquivos em uma pasta:
$ touch 1.TXT$ mkdir new
$ cd novo
$ touch m.txt n.txt o.TXT
$ git add .
$ git status
No mestre de filial
Mudanças a serem confirmadas:
(use "git reset HEAD
novo arquivo: m.TXT
novo arquivo: n.TXT
novo arquivo: o.TXT
Arquivos não rastreados:
(use "git add
… / 1.TXT
Observe que o Git não adicionou o 1.arquivo txt na pasta de nível superior.
Se criarmos uma pasta chamada aninhada com d.arquivo txt e use o git add. comando novamente, vemos que o.txt foi adicionado, mas 1.txt ainda não foi adicionado.
$ mkdir aninhado$ touch aninhado / d.TXT
$ git add .
$ git status
No mestre de filial
Mudanças a serem confirmadas:
(use "git reset HEAD
novo arquivo: m.TXT
novo arquivo: n.TXT
novo arquivo: aninhado / d.TXT
novo arquivo: o.TXT
Arquivos não rastreados:
(use "git add
… / 1.TXT
Agora vamos usar o comando git add -A:
$ git add -A$ git status
No mestre de filial
Mudanças a serem confirmadas:
(use "git reset HEAD
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 teste.
Esta é a aparência das pastas
| --1.TXT
| --ReadMe.TXT
| --a.TXT
| --b.TXT
| --c.TXT
| --x.TXT
| --y.TXT
| --z.TXT
'-- novo
| --m.TXT
| --n.TXT
| --o.TXT
'- aninhado
| --d.TXT
Então, quando você estiver usando “git add .”Comando, ele irá adicionar todas as mudanças daquele nível. Mas quando você usa a opção “git add -A”, ele procura por modificações em todo o módulo e as adiciona.
Conclusão
O comando Git add fornece maneiras poderosas de adicionar arquivos modificados. Você pode usar sua hierarquia de diretório natural de códigos para controlar o que é adicionado.
Um estudo mais aprofundado:
- https: // git-scm.com / docs / git-add
- Git: Aprenda o controle de versão com Git: um guia completo para iniciantes passo a passo
- Controle de versão com Git: ferramentas e técnicas poderosas para desenvolvimento de software colaborativo
- Pro Git, 2ª edição