Git Takken

  1. Waarom is filiaal nodig?
  2. Maak een nieuwe tak
  3. Verwijder de tak
  4. 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.