<p>Această copiuță arată scenariile de bază, precum și efectul folosirii operațiilor git-flow.</p>
<pclass="divider">★★★</p>
</div>
<divclass="scrollblock">
<h2>Pentru început</h2>
<ul>
<li>Git flow oferă ajutor și output excelente direct în linia de comandă. Citește-le cu atenție pentru a observa ce se întâmplă...</li>
<li>Clientul <ahref="http://www.sourcetreeapp.com/">Sourcetree</a> pentru OSX/Windows este o interfață excelentă pentru git și are suport pentru git-flow</li>
<li>Git-flow este o soluție bazată pe merge-uri. Nu face rebase pe branch-urile de tip feature.</li>
<li>Ajută la pregătirea unui nou release în producție</li>
<li>Permite fixarea unor probleme minore, precum și pregătirea meta-datelor asociate unui release</li>
</ul>
<pclass="divider">★★★</p>
<divclass="col-1">
<h3>Începere release</h3>
<p>Pentru a începe un release nou, folosește comanda git flow release. Aceasta crează un nou branch de tip release bazat pe branch-ul 'develop'.</p>
<blockquote>
git flow release start RELEASE [BAZE]
</blockquote>
<p>Este posibilă furnizarea unei <code>[BAZE]</code> sha-1 de commit pentru a fi folosit drept bază a release-ului ce se crează. Acest commit trebuie să existe pe branch-ul 'develop'.</p>
<pclass="divider">★★★</p>
<p>Este înțelept a publica branch-ul de release după ce a fost creat, pentru a permite și altor programatori să contribuie. Acest proces este similar celui de publicare funcționalitate; se folosește comanda:</p>
<blockquote>
git flow release publish RELEASE
</blockquote>
<p>(Poți urmări un release cu comanda <br/><code>git flow release track RELEASE</code>)</p>
</div>
<divclass="col-2">
<divclass="release-start"></div>
</div>
</div>
<divclass="scrollblock">
<divclass="col-1">
<h3>Finalizare release</h3>
<p>Finalizarea unui release este unul din cei mai importanți pași din lucrul cu branch-urile în git. Se efectuează câteva acțiuni:</p>
<ul>
<li>Merge al branch-ului release înapoi în 'master'</li>
<li>Crează tag (etichetă) pentru release, cu numele acestuia</li>
<li>Merge al release-ului în branch-ul 'develop'</li>
<li>Șterge branch-ul de release</li>
</ul>
<blockquote>
git flow release finish RELEASE
</blockquote>
<p>Nu uita să publici etichetele cu comanda <code>git push --tags</code></p>
<li>Corecturile provin din necesitatea de a acționa cât mai curând asupra unei stări nedorite a unei versiuni deja livrate </li>
<li>Se poate baza pe eticheta de pe branch-ul master corespunzătoare release-ului țintit.</li>
</ul>
<pclass="divider">★★★</p>
<divclass="col-1">
<h3>Începere corectură</h3>
<p>Asemeni celorlalte comezi git flow, o corectură se începe cu</p>
<blockquote>
git flow hotfix start VERSION [BASENAME]
</blockquote>
<p>Argumentul VERSION markează noul nume de release ce va fi atribuit corecturii. În mod opțional poți preciza un nume de bază de la care se va porni în crearea corecturii.</p>
</div>
<divclass="col-2">
<divclass="hotfix-start"></div>
</div>
</div>
<divclass="scrollblock">
<divclass="col-1">
<h3>Finalizare corectură</h3>
<p>Prin finalizarea unei corecturi, aceasta va fi merge-uită înapoi în branch-urile 'develop' și 'master'. Suplimentar, 'master' va fi etichetat cu versiunea corecturii.</p>