git update-index
git
Uso
git update-index [--skip-worktree|--chmod=+x] <file>Altera o índice diretamente; as marcas são locais e nunca vão no push, e a que preserva suas edições locais em um arquivo de configuração é --skip-worktree, não --assume-unchanged.
Opções comuns
| Opção | Significado |
|---|---|
| --chmod=+x | record the executable bit, useful from Windows |
| --skip-worktree | let you keep local edits to a tracked file |
| --no-skip-worktree | undo that |
| --assume-unchanged | promise you will not edit it, as a speed hint only |
| --no-assume-unchanged | undo that |
| --refresh | update stat information after a filesystem change |
Exemplos
git update-index --chmod=+x scripts/deploy.shstages the executable bit so CI can run it
git update-index --skip-worktree config/local.jsonkeeps your local edits out of every diff
git update-index --no-skip-worktree config/local.jsonputs the file back under normal tracking
O confuso é que desfazer tem várias formas: mover para onde um branch aponta não é o mesmo que criar um commit que reverte.
Como ler
- Os colchetes [ ] marcam uma parte que você pode omitir.
- As reticências … indicam que você pode listar vários.
- As opções diferenciam maiúsculas: em alguns comandos -r e -R fazem coisas diferentes.
Perguntas
Q. O que git update-index faz?
Altera o índice diretamente; as marcas são locais e nunca vão no push, e a que preserva suas edições locais em um arquivo de configuração é --skip-worktree, não --assume-unchanged.
Q. Como se digita?
git update-index [--skip-worktree|--chmod=+x] <file> — os colchetes marcam o que você pode omitir.
Q. Quantas opções vale a pena saber?
Aqui estão 6; a lista completa está em man git. Este comando fica em git.
Comandos relacionados
página man: man git-update-index