Início·Comandos de terminal
Publicidade

Garanta seu bônus em uma corretora de cripto

Bônus que você recebe só por se cadastrar. As condições são as que cada corretora anuncia.

git submodule

git

Uso

git submodule update --init --recursive

Fixa outro repositório em um commit dentro do seu; um clone comum deixa a pasta vazia até update --init, e o pai aponta para um commit, não para um branch.

Opções comuns

OpçãoSignificado
add <url> <path>pin another repository at a path
update --initfill in a submodule folder that a clone left empty
--recursivego into submodules of submodules
update --remotemove the pin to the tip of the tracked branch
statusthe commit each submodule sits at
deinit <path>unregister it
foreach <cmd>run a command in each one

Exemplos

git submodule update --init --recursive

the command that fills empty submodule folders after a clone

git submodule add https://github.com/x/lib.git vendor/lib

adds a dependency as a submodule

git submodule update --remote

updates the pinned commit to the branch tip

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

QO que git submodule faz?

Fixa outro repositório em um commit dentro do seu; um clone comum deixa a pasta vazia até update --init, e o pai aponta para um commit, não para um branch.

QComo se digita?

git submodule update --init --recursive — os colchetes marcam o que você pode omitir.

QQuantas opções vale a pena saber?

Aqui estão 7; a lista completa está em man git. Este comando fica em git.

Comandos relacionados

página man: man git-submodule