SourceTree, Git e primi passi - Git Flow

 

 L'idea generale di Git-Flow è quello di utilizzare la seguente struttura per il  repository:

  • Development branch: Questo è il branch di sviluppo principale dove si faranno tutte le modifiche destinate per il prossimo rilascio
  • Production branch: Solitamente chiamato 'master' questo branch rappresenta l'ultimo rilasciato distribuito. Questo branch è solitamente aggiornato dal merge di altri branch
  • Feature branches: Quando si inizia a lavorare su qualcosa di non banale, si crea un branch feature. Una volta terminato, va fatto il merge sul branch dev e poi rilasciata l'ultima release
  • Release branches: Quando si è in procinto di rilasciare una nuova release, si crea un branch di release dal branch di sviluppo
  • Hotfix branches: Se avete bisogno di patchare l'ultima versione senza creare altri feature branch per il branch di sviluppo, è possibile creare un branch hotfix dall'ultimo codice distribuito sul master.

 SourceTree è molto utile nella gestione del Git-Flow e facilita molto il compito per la creazione della struttura sopra elencata.

25.jpg

Una volta inizializzato Git Flow avremo nel nostro repository locale un nuovo branch chiamato develop (dev nel nostro esempio). 

14.jpg

Per far in modo che tutti gli utenti del nostro team possano lavorare allo stesso branch di sviluppo può essere utile inviarlo al repository remoto

15.jpg  16.jpg

 

Tutte le modifiche fatte al nostro progetto andranno committate sul branch dev in modo da poter poi utilizzare la struttura del Git-Flow. Apportate le seguenti modifiche vediamo come utlizzare questo strumento.

 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        TextView mText = (TextView) findViewById(R.id.text);
        mText.setText("SourceTree");
    }

Le ultime due righe di codice modificano la classica scritta Hello World con SourceTree. A questo punto andiamo a fare una commit su dev e push sul repository remoto.

17.jpg

Spostandoci sul repository remoto possiamo vedere come le modifiche appena aggiunte sono visibili sul branch dev, mentre quello master risulta sempre quello della release iniziale.

18.jpg  19.jpg

 

Adesso possiamo creare la release v1.0.0 che si riferisce al progetto Android che stampa SourceeTree sull'Activity. Spostandoci su Git-Flow andiamo a scegliere start new release, inseriamo il tag v1.0.0, all'ok SourceTree creerà un branch release dove andrà committato il bump version (in questo caso v1.0.0). Prima di terminare la release andiamo sul build gradle e cambiamo il version name in 1.0.0 ed il version code in 100. Facciamo una commit sul branch release e terminiamo la release da Git-Flow.

 

 

Ben tornato