Command | New Files | Modified Files | Deleted Files | Hidden Files | Description |
---|---|---|---|---|---|
git add -A | ✔️ | ✔️ | ✔️ | ✔️ | Stage all files from top till down folders |
git add . | ✔️ | ✔️ | ✔️ | ✔️ | Stage all files under current folder and all subfolders |
git add * | ✔️ | ✔️ | ✔️ | ❌ | Same as git add . but excludes hidden files |
git add –ignore-removal . | ✔️ | ✔️ | ❌ | ✔️ | Same as git add . but excludes deleted files |
git add -u | ❌ | ✔️ | ✔️ | ✔️ | Same as git add -A but excludes untracked files |
git add -A . | ✔️ | ✔️ | ✔️ | ✔️ | Same as git add . |
git add -u . | ❌ | ✔️ | ✔️ | ✔️ | Mixes git add . and git add -u means it works under current folder and its subfolders only |
git add $(git ls-files -o –exclude-standard) | ✔️ | ❌ | ❌ | ❌ | Stage only untracked files from top till down folders |
O comando git add é bastante versátil e suas opções permitem adequar seu comportamento conforme a necessidade do momento.
Isto é bom do ponto de vista de funcionalidade pois apenas adicionando flags podemos ajustar para o melhor resultado. Do ponto de vista de memorização pode ser um pouco complicado até que você consiga vincular as flags necessárias com o comportamento esperado.
Resolvi fazer um tabela no estilo CheatSheet para poder consultar rapidamente sempre que precisar relembrar uma combinação.
Quando estiver em dúvida que opção usar, lembre que você pode usar o bom e velho caminho completo para incluir um único arquivo.
git add full/path/to/my/file/from/current/folder.file
E aí? Vai uma CheatSheet?!