Git Takken
- Waarom is filiaal nodig?
- Maak een nieuwe tak
- Verwijder de tak
- Maak en bekijk tegelijkertijd een nieuwe tak

In deze tutorial zullen we leren over een van de meest importfuncties in het git-versiebeheersysteem - branch.
Waarom is filiaal nodig?
Tot nu toe hebben we slechts aan één tak gewerkt - de master
tak. Het is de standaardtak wanneer we een nieuwe repository maken.
Over het algemeen master
vertegenwoordigt de vertakking de stabiele versie van uw codes en is het de code die wordt vrijgegeven of gepubliceerd. Om die reden willen we niet echt nieuwe functies uitproberen op de nieuwe code op de master
vertakking, voor het geval dat de code wordt verprutst.
Wat we echt willen doen, als we een nieuwe functie aan onze applicatie willen toevoegen, is om een geïsoleerde omgeving te creëren om deze nieuwe functie uit te proberen, en als we deze voltooien en testen, kunnen we deze nieuwe functie in de master
branche samenvoegen . In plaats van meer commits aan de master
branch toe te voegen , maken we een nieuwe branch om te werken als een geïsoleerde omgeving en om de nieuwe functie uit te testen.
Maak een nieuwe tak
$ git branch test_branch
Wat we hier doen wanneer we deze branch maken, test_branch
is dat we de status van de code van de master
branch naar deze branch kopiëren om te beginnen, en dan kunnen we in deze test_branch
branch werken.
Je kunt de beschikbare branches op je pc weergeven door te typen,
$ git branch
* master
test_branch
De nieuw gemaakte test_branch
en de master
tak worden hier vermeld.
Nu zit je nog steeds op de master
tak, hoewel je zojuist de nieuwe tak hebt gemaakt. Je moet de nieuwe branch uitchecken om eraan te werken.
$ git checkout test_branch
Switched to branch 'test_branch'
D test1_rename.txt
Er staat nu dat het is overgeschakeld naar vertakking test_branch
, en als je het git branch
opnieuw doet,
$ git branch
master
* test_branch
Dan gaan we zien dat we nu op test_branch
vertakking zijn omdat asterisk *
eerder is test_branch
maar niet master
meer.
Laten we wat tekst toevoegen aan het bestand test3.txt
, zoals This is the added line in branch test_branch.
. Als u dit doet git status
, zult u zien dat u dit bestand hebt gewijzigd.
$ git status
On branch test_branch
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: test3.txt
no changes added to commit (use "git add" and/or "git commit -a")
We zouden de wijzigingen in deze tak kunnen vastleggen zoals we in de laatste hoofdstukken hebben geleerd.
Wat we hebben gedaan, is dat we deze nieuwe tak hebben gemaakt en enkele wijzigingen hebben aangebracht die geïsoleerd zijn van de master
tak. De codes in de master
tak blijven ongewijzigd en stabiel.
Verwijder de tak
Nadat we tevreden zijn met de nieuwe functie die aan de branch is toegevoegd, kunnen we deze verwijderen.
$ git checkout master
$ git branch -d test_branch
error: The branch 'test_branch' is not fully merged.
If you are sure you want to delete it, run 'git branch -D test_branch'.
-d
parameter after branch
betekent dat de opgegeven tak wordt verwijderd.
We hebben een foutmelding The branch 'test_branch' is not fully merged. If you are sure you want to delete it, run 'git branch -D test_branch'.
. De kleine letters d
werken alleen als we de tak hebben samengevoegd, maar hoofdletters D
kunnen de tak met geweld verwijderen. We zullen in de volgende hoofdstukken introduceren hoe je branch kunt samenvoegen, maar laten we voorlopig alleen hoofdletters gebruiken D
om deze branch te verwijderen.
$ git branch -D test_branch
Deleted branch test_branch (was 7d6bca6).
Als u nu takken aanvinkt, wordt alleen de master
tak nu weergegeven.
$ git branch
* master
Maak en bekijk tegelijkertijd een nieuwe tak
Bovenstaande workflow maakt eerst een branch aan met behulp van git branch
en check vervolgens deze branch uit met behulp van git checkout
.
Het heeft een snellere manier om deze twee stappen te combineren tot één.
$ git checkout -b new_test_branch
Switched to a new branch 'new_test_branch'
M test3.txt
Wat het doet, is dat het een tak maakt en het ook controleert. We hoeven die twee stappen dus niet afzonderlijk uit te voeren.
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn