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 merge

git

Uso

git merge [--no-ff|--squash] <branch>

Traz o trabalho de outro branch para o atual; --squash não registra uma mesclagem, então o git continua vendo aquele branch como não mesclado.

Opções comuns

OpçãoSignificado
--no-ffalways record a merge commit, even when a fast-forward was possible
--ff-onlyrefuse unless it can fast-forward
--squashstage the combined change without committing or recording a merge
--abortundo a merge that stopped on conflicts
--continuefinish after you resolved the conflicts
-X ours|theirsauto-resolve conflicting hunks one way
--no-commitmerge but leave the commit to you

Exemplos

git merge --no-ff feature/login

keeps the branch visible in history

git merge --abort

gets you back to before the conflicted merge

git merge --squash feature/login

one flat change, staged; you still have to commit

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 merge faz?

Traz o trabalho de outro branch para o atual; --squash não registra uma mesclagem, então o git continua vendo aquele branch como não mesclado.

QComo se digita?

git merge [--no-ff|--squash] <branch> — 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-merge