Questo è il terzo e ultimo articolo di una mini serie dedicata alle best practice con Git. Questa volta aggiungiamo alla lista tre consigli o best practice per lavorare meglio con questo potentissimo strumento.
Come usare al meglio Git Parte 1
Come usare al meglio Git Parte 2
Usa –rebase quando fai pull di una branch
Ecco una situazione molto comune: sei su master e hai creato un nuovo commit. Vuoi recuperare gli aggiornamenti dal repository remoto e, durante il pull, git crea un merge commit. Se ciò accade, non puoi più eseguire il push to master, perché il tuo master locale non è un in sync con quello remoto.
Per evitare questo scenario aggiungi –rebase al comando pull:
git pull –rebase
Per comodità puoi impostare –rebase come comportamento predefinito di Git quando si lancia il comando git pull:
git config –global pull.rebase true
Una volta lanciato questo comando di configurazione, tutte le tue pull useranno –rebase come comportamento di default.
Ripulisci l’elenco delle tue branch dopo il merge
E’ buona norma eliminare le branch dopo che che si è fatto merge in master. In locale puoi farlo con:
git branch -D nome-branch
Quando fai merge da Github per esempio, viene invece mostrato un pulsante sulla UI per eliminare la branch sul repository remoto. Il tuo repository locale però deve essere aggiornato manualmente per ripulire l’elenco delle branch remote.
Puoi farlo con questo comando
git fetch -p
Dove -p sta per “prune”. Per evitare di dover eseguire questo comando manualmente ogni volta, anche in questo caso possiamo automatizzare questo processo con un comando di configurazione:
git config fetch.prune true
Questo farà in modo che ad ogni fetch o pull, le branch eliminate dal repository remoto verranno automaticamente eliminate dalla lista locale delle branch remote.
Non forzare mai una push
In questo caso vogliamo sottolinare due aspetti: il primo è quello di non forzare mai una push su master, e il secondo è di usare –force-with-lease quando si vuole forzare una push in una feature branch.
git push –force-with-lease
Fondamentalmente controlla se un altro collaboratore ha inviato il push alla branch che stai tentando di forzare l’aggiornamento prima di sovrascriverlo.
Per quanto riguarda la master branch, ricorda che un push forzato riscrive la history e potresti perdere dati irrimediabilmente.
Conclusione
Speriamo che questa mini serie di articoli dedicati a Git vi sia piaciuta. Ci sono molti altre piccole pillole come queste che possiamo suggerirvi, quindi fateci sapere se volete altri articoli come questo.