Git vertakkingen maken
Home

Git vertakkingen maken

Git vertakkingen maken

Met takken wordt de basisfunctionaliteit van de commits vertienvoudigd omdat gebruikers de mogelijkheid hebben hun geschiedenis af splitsen. Het creëren van een nieuwe tak komt neer op het aanvragen van een nieuwe ontwikkelingsomgeving, compleet en met een geïsoleerde werkmap, staging area, en project geschiedenis.
Basic branched development
Basic branched development

Dit komt neer op het maken van een "veilige" kopie van je project. Maar je hebt nu de extra mogelijkheid om te werken aan meerdere versies terzelfder tijd. Takken maken een niet-lineaire workflow mogelijk, de mogelijkheid om van elkaar onafhankelijke functionaliteiten parallel te ontwikkelen.

Vertakkingen tonen

Je moet de bestaande vertakkingen kunnen oplijsten. Dat doe je met:

git branch

Dit commando toont alle bestaande 'branches', met een sterretje er naast als die momenteel "uitgecheckt" is (daarover later meer):

* master
dit-of-dat-kenmerk
quick-bug-fix

De master branch is de Git standaard tak, die is gemaakt door de eerste commit in een repository. Veel ontwikkelaars gebruiken deze tak als de "belangrijkste" geschiedenis van het
project. Als een permanente tak die elke grote verandering in het verloop van het project bevat.

Vertakkingen maken

Je kan een nieuwe tak maken door een naam voor de tak aan het git branch commando mee te geven:

git branch <name>

Dit creëert een verwijzing naar het huidige HEAD, maar schakelt niet over naar de nieuwe tak. Daarvoor het je een git checkout nodig. Direct na het maken van een nieuw
tak, ziet je repository er ongeveer als volgt uit:

Git Creating a new branch
Git Creating a new branch

De huidige tak (master) en de nieuwe tak (nieuwe-functionaliteit) verwijzen naar dezelfde commit. Maar alle nieuwe commits die je daarna uitvoert zullen exclusief van de huidige tak zijn. Dit laat je toe op onafhankelijke functionaliteiten tegerlijkertijd te werken met behoud zinvolle geschiedenissen. Bijvoorbeeld, als je huidige tak nieuwe-functionaliteit is, ziet je geschiedenis er na een commit als volgt uit:

Git committing op de nieuwe-functionaliteit tak
Git committing op de nieuwe-functionaliteit tak

De nieuwe HEAD (aangeduid door de gemarkeerde commit in het geel) bestaat alleen in de nieuwe-functionaliteit tak. Die zal niet te zien in de log output van de master tak. De veranderingen verschijnen ook niet in de werkmap nadat je uit de master uitcheckt.

Je kan de nieuwe tak in de interne database zien door het openen van het bestand.git/refs/heads/<name>. Het bestand bevat de ID van de commit, en het is de enige definitie van een Git branch. Dit is de reden waarom takken zo eenvoudig te beheren zijn.

Takken deleten

Ten slotte kan je takken met de -d vlag te verwijderen:

git branch -d <name>

Maar, Git's toewijding om je werk nooit te verliezen voorkomt dat takken met niet samengevoegde commits verwijred worden. Om het verwijderen te forceren, gebruik je de -D vlag:

git branch -D <name>

Niet samengevoegde wijzigingen zullen dan verloren gaan, wees dus heel voorzichtig met deze opdracht

Je kan ook een nieuwe naam aan de vertakking geven:

git branch -m <branch>

JI
2017-01-28 21:29:20