Git Branches
Per lo sviluppo di un progetto sto utilizzando git in locale con due branches. Un branch master/origin, dove risiede il lavoro pronto per essere caricato in produzione, e uno develop, su cui effettuo i commits, sviluppo nuove featurse, e, quando tutto va bene, implemento nel branch master/origin. Qui sotto un breve tutorial su come cominciare. Diamo per scontato di avere un repo inizializzato, con il branch master/origin. Per creare il nuovo branch 'develop'
per vedere i vari branches
l'asterisco indica il branch attualmente selezionato
per passare da un branch all'altro
Per portare avanti il codice su develop, selezioniamo il branch develop
andiamo avanti con i nostri commit che verranno eseguiti SOLO sul branch develop.
Difatti, se torniamo sul branch master e cerchiamo le modifiche appena fatte, non le troveremo perche' sono solo su develop.
quando le modifiche sono pronte per essere messe nel branch 'master', selezioniamolo
git checkout master
e diciamo al branch master di prendere le modifiche fatte su develop
Una volta che le nuove modifiche sono state implementate, possiamo taggare il branch master con il corrente numero di versione
se un giorno decidessimo che il branch develop non ci serve più, cancelliamolo
Differenze tra i due branches
Può capitare che alcune modifiche fatte su 'develop' differiscano dal codice presente su master. Puoà darsi che abbiate innavertitamente lavorato su master per delle modifiche che dovevano essere effettuate su develop, o altri scenari simili. Quando, dal branch master lanciamo
Le modifiche fatte su master vengono fuse alle modifiche fatte su develop. Se alcune di queste modifiche riguardano la stessa porzione di codice, al primo commit git ci segnalerà che dobbiamo risolvere un conflitto prima di proseguire.
Apriamo il file incriminato, sistemiamolo e poi git add e git commit.
Il control-Z dell'ultimo merge
Se avete appena fatto il merge sul branch master di una bizzarra feature che avevate sviluppato su develop, che credevate pronta e superefficiente ma in realtà ha scatenato un turbine di email di protesta da parte degli utenti che rivogliono indietro il loro vecchio sistema, dove "tutto funzionava", dove "tutto era più semplice" e sentite che sta per arrivare la email "si stava meglio quando si stava peggio", beh, allora, forse è meglio tornare indietro, e levare l'ultima feature aggiunta.
Qui il tutorial completo
Per vedere tutti i commit fatti nei minimi dettagli, installate gitk e lanciatelo da console nella directory dove avete un progetto versionato
git branch develop
git branch
git checkout master
git checkout develop
git checkout develop
git merge develop
git tag 0.1
git branch -d develop
git merge develop
file_config.txt: needs merge
git add file_config.txt
git commit
git reset --hard ORIG_HEAD
blog comments powered by Disqus