Remots: Resum d'ordres
(Reconeixement - NoComercial - CompartirIgual) 🅭
Remots: Resum d'ordres
Aquest resum recull les ordres presentades en el Bloc 3: Remots.
Gestió de repositoris remots
Aquestes ordres permeten associar repositoris remots al repositori local:
git remote: mostra els repositoris remots associats al repositori local.
git remote add <alies> <url>: afegeix un repositori remot amb l'àlies especificat.
git remote rename <alies> <nou-alies>: canvia l'àlies d'un repositori remot associat al repositori local.
git remote remove <alies>: elimina un repositori remot associat al repositori local.
git clone <url>: crea una còpia local del repositori remot especificat per url.
El repositori remot s'associa automàticament amb l'àlies origin.
Gestió de branques remotes
Aquestes ordres permeten sincronitzar les branques locals i les remotes:
git branch -r: mostra les branques remotes associades al repositori local.
git push [-u | --set-upstream] <alies> <branca>: publica la branca local en la branca remota
especificada del repositori remot alies. Amb -u, a més, associa la branca local amb la remota
(upstream), de manera que git push i git pull funcionen després sense arguments.
git branch -vv: mostra, per a cada branca local, la branca remota associada (entre claudàtors).
-
git fetch: actualitza les referències remotes del repositori local amb els canvis
del repositori remot associat.
--prune: elimina les referències de branques remotes que ja no existeixen en el repositori remot.
-
git pull: actualitza la branca local actual (HEAD) amb els canvis de la branca remota associada,
mitjançant git fetch i git merge.
--ff-only: si no es pot fer fast-forward, el procés es cancel·la.
--rebase: fa un rebase en lloc d'un merge per a incorporar els canvis remots.
-
git push -d <alies> <branca>: elimina la branca remota especificada del repositori remot alies.
Configuració
Aquestes claus de configuració modifiquen el comportament per defecte de les ordres anteriors:
-
push.autoSetupRemote: si s'estableix a true, git push associa automàticament
cada branca local amb la branca remota del mateix nom.
-
fetch.prune: si s'estableix a true, git fetch elimina automàticament les referències
de branques remotes que ja no existeixen en el repositori remot.
Equivalent a git fetch --prune.
-
pull.ff: configura el comportament de la fusió implícita de git pull respecte de la fusió fast-forward.
Valors de pull.ff
| Valor |
Significat |
false |
Les fusions es fan sempre amb un commit de fusió. Equival a git pull --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 pull --ff-only. |
-
pull.rebase: si s'estableix a true, git pull fa un rebase en lloc d'un merge
per a incorporar els canvis remots.
Equivalent a git pull --rebase.
~/.gitconfig[push]
autoSetupRemote = true
[fetch]
prune = true
[pull]
rebase = true
Flux de treball amb branques remotes
Aquest és el procediment habitual per a treballar amb una branca que es publica en un repositori remot:
-
Crea una branca nova localment.
git checkout -b <nova-branca>
-
Publica la branca nova en el repositori remot.
git push -u <alies> <nova-branca>
-
Treballa en la branca nova localment i fes els canvis.
git checkout <nova-branca>
git add <fitxers>
git commit -m "<missatge>"
-
Publica els canvis en la branca remota.
-
Si canvies de dispositiu, actualitza la branca local amb els canvis remots.
git fetch
git checkout <nova-branca>
git pull
-
Fusiona la branca en la branca principal.
Les diferents estratègies d'integració de branques es veuen en el Bloc 5: Estratègies de ramificació.
-
Elimina la branca local i la remota.
git branch -d <nova-branca>
git push -d <alies> <nova-branca>
-
Si canvies de dispositiu, elimina les referències remotes que ja no existeixen.
📌 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.