Salta el contingut
 

Branques: Resum d'ordres

Joan Puigcerver Ibáñez

Llicència: CC BY-NC-SA 4.0

(Reconeixement - NoComercial - CompartirIgual) 🅭

Branques: Resum d'ordres

Aquest resum recull les ordres presentades en el Bloc 2: Branques.

Gestió de branques locals

Aquestes ordres permeten consultar, crear, reanomenar i eliminar branques:

  • git branch: mostra les branques locals del Repositori local.

  • git branch <nom> [<ref>]: crea una branca local nova a partir de la referència especificada. Si no s'indica cap referència, es crea en la posició actual (HEAD).

  • git branch -m <nom>: canvia el nom de la branca actual.

  • git branch -d <nom>: elimina la branca local especificada.

    • -D: elimina la branca local de manera forçada.

Per a canviar de branca, hi ha dues ordres equivalents:

  • git checkout <nom>: canvia a la branca especificada (mou el HEAD).
  • git checkout -b <nom>: crea una branca nova i s'hi situa.

    Equivalent a git branch <nom> i git checkout <nom>.

  • git switch <nom>: canvia a la branca especificada (mou el HEAD).
  • git switch -c <nom>: crea una branca nova i s'hi situa.

    Equivalent a git branch <nom> i git switch <nom>.

Fusió de branques locals

La fusió incorpora els canvis d'una branca en la branca actual:

  • git merge <nom>: fusiona la branca especificada en la branca actual (HEAD). Per defecte, intenta fer una fusió fast-forward i, si no és possible, crea un commit de fusió. Si hi ha conflictes, el repositori entra en l'estat MERGING i cal resoldre'ls.

    • --ff-only: fa la fusió només si pot ser fast-forward.
    • --no-ff: fa la fusió sempre mitjançant un commit de fusió.
  • git merge --abort: en l'estat MERGING, atura el procés de fusió i torna a l'estat anterior.

Canvi de base

El canvi de base permet integrar canvis de branques divergents mantenint una història lineal:

  • git rebase <nom>: canvia la base de la branca actual (HEAD) a la branca especificada. Si hi ha conflictes, el repositori entra en l'estat REBASING i cal resoldre'ls.

  • git rebase --continue: en l'estat REBASING, continua el procés de canvi de base després de resoldre els conflictes.

  • git rebase --abort: en l'estat REBASING, atura el procés de canvi de base i torna a l'estat anterior.

Configuració

Aquestes claus de configuració modifiquen el comportament per defecte de git merge:

  • merge.edit: indica si la fusió demana editar el missatge del commit de fusió o si es fa automàticament.

    Valors de merge.edit
    Valor Significat
    yes Demana editar el missatge. Equival a git merge --edit.
    no Utilitza el missatge automàtic. Equival a git merge --no-edit.
  • merge.ff: indica el comportament de la fusió respecte del fast-forward.

    Valors de merge.ff
    Valor Significat
    false Les fusions es fan sempre amb un commit de fusió. Equival a git merge --no-ff.
    only Les fusions es fan només amb fast-forward; si no és possible, el procés es cancel·la. Equival a git merge --ff-only.
~/.gitconfig
[merge]
    edit = no
    ff = only

Documentació oficial: merge config – Git

📌 Aquest document pot quedar desactualitzat després d’imprimir-lo. Pots consultar la versió més recent a la pàgina web.
🌿 Abans d’imprimir aquest document, considera si és realment necessari. Redueix el consum de paper i ajuda a protegir el nostre entorn.