0%

Branches · oefening

Begin een aparte werklijn

Je wilt openingstijden toevoegen aan de buurtgids, maar je wilt niet dat de onvoltooide wijziging main verplaatst. Een aparte branch geeft dat werk een eigen verplaatsbare naam zolang het nog bezig is.

Maak de branch en schakel ernaartoe over

git switch verandert welke branch de huidige is. De optie -c betekent create, oftewel aanmaken: Git maakt de branch met de naam na de optie en schakelt er direct naartoe over.

Voer deze opdracht precies één keer uit:

git switch -c add-opening-hours

Lees de opdracht van links naar rechts: vraag Git over te schakelen, maak daarbij een branch aan en noem die branch add-opening-hours. Git begint de nieuwe branch bij de commit waarop je al zat. Er hoeft dus geen bestand te veranderen en er wordt geen commit gemaakt.

Als Git zegt dat de branch al bestaat, heb je de opdracht waarschijnlijk eerder uitgevoerd. Maak geen andere branch. Gebruik git switch add-opening-hours om over te schakelen naar de bestaande branch. Zonder -c schakelt git switch over naar een bestaande branch.

Vraag nu opnieuw de branchlijst op:

git branch

De lijst bevat nu add-opening-hours, met de * op die regel. HEAD wijst naar deze nieuwe huidige branch. Op dit moment wijzen add-opening-hours, main en clearer-title allemaal naar dezelfde basiscommit.

Clarify the guide title       <- main, clearer-title, add-opening-hours (HEAD)
        |
Start the neighborhood guide

De wijzer aanmaken kostte weinig, omdat Git de werkboom niet kopieerde. De branches gaan pas inhoudelijk verschillen wanneer een van hun wijzers naar een nieuwe commit opschuift.

Wat deed git switch -c add-opening-hours?

Merk op hoe weinig er gebeurde. Geen bestand veranderde, er werd geen commit gemaakt en het project op schijf is precies hetzelfde als een minuut geleden. Je voegde alleen een derde naam toe die naar de commit wijst waar al twee namen naar wezen. Daarom maken ervaren gebruikers zonder aarzelen branches: als het idee tegenvalt, is er bijna niets ongedaan te maken.

In de volgende les maak je een commit. Slechts één van die drie namen zal bewegen.