Ker je za delo (tudi samostojno delo!) branching tako zelo uporabna metoda sem se odločil , da spišem tale kratek potek dela.
Teorija gre tako:
Programer se loti nekega spreminjanja kode za katerega pa ne ve, če bo sploh uporaben. Recimo, da hočete v vaš program dodati možnost izvoza podatkov v Libre Office.
Zato namesto da pišete v MASTER repo raje naredi novo vejo (branch), ki jo poimenuje po spremembi, ki jo želiote izvesti. Torej nekako tako:
Git checkout -b libreOffice
-b je za branch
V ukazni lupini boste zaznali spremembo:
namesto npr:
Hoornet@prostitute /c/Delo/MyWorkDir (master)
Bo sedaj
Hoornet@prostitute /c/Delo/MyWorkDir (libreOffice)
Git vam tako sporoča na kateri veji se trenutno nahajate. Preskok je u šubu. Pri kreaciji nove veje to pomeni, da imate še vedno na voljo vso kodo od prej a lahko sedaj bolj ziheraško spreminjate kodo, saj manipulerate drugo vejo. V kateremkoli trenutku se lahko vrnete na prejšnje satanje.
Ko ste končali s ‘pod-projektom’ se odločite ali boste prelili spremembe v master ali ne. V primeru da je šlo vse ok delujte tako:
Najprej skočite nazaj na master z
Git checkout master
V trenutku boste nazaj v stanju pred vsemi spremmbami (t.j. v zadnjem stanju pred skokom v novo vejo). Sedaj lahko v master (t.j. v vejo v kateri se trenutno nahajate) zmixate prej ustvarjeno vejo z:
Git merge libreOffice
S tem ukazom ste vse spremembe, ki ste jih ustvarili v novi veji z imenom libreOffice zlili skupaj v default vejo (master).
Če hočete lahko sedaj pobrišete odrabljeno vejo z
Git branch -d libreOffice
Lahko pa jo seveda pustite pri meru za eventualno vrnitev?! Eh! niti ne 🙂 Rape its ass out