Git: ühendage haru Masteriga

Kiire vastus – ühendage haru Masteriks

Kui otsite kiiret vastust, ühendage haru master haru – sina checkout master ja merge some_branch:

$ git checkout new-branch
# ...develop some code...

$ git add .
$ git commit –m "Some commit message"
$ git checkout master
Switched to branch 'master'
$ git merge new-branch

Sina alati checkout haru, kuhu ühinete, ja merge haru, millel on juba muudatused.

Gitiga filiaalide ühendamise mõistmine

Kui olete aga Giti uuem kasutaja, tasub võtta paar minutit, et mõista neid käske ja kuidas need töötavad. See on üllatavalt lihtne ja viib teid kaugele.

Märge: 2020. aastal võttis Git (kõrvuti suuremate hoidlate hostimisplatvormidega, nagu GitHub, GitLab jne) ametlikus terminoloogias muudatuse ja haru vaikenimi muudeti uueks. main, negatiivse kootatsiooni tõttu sõna master võib kaasa tuua. Paljud projektid ei ole migreerunud ega oma põhiharusid ümber nimetanud, seega lähitulevikus – tingimused master ja main kasutatakse tõenäoliselt vaheldumisi.

Giti üks võimsamaid funktsioone on võimalus hõlpsalt luua ja liita filiaale ja koodibaasi muudatusi.

Giti hajutatud olemus julgustab kasutajaid sageli uusi harusid looma ja neid arendusprotsessi osana regulaarselt liitma – ja teatud Giti töövood kasutavad seda laialdaselt.

See parandab oluliselt enamiku projektide arendustöövoogu, julgustades väiksemaid, rohkem keskendunud ja üksikasjalikke kohustusi, mille suhtes kohaldatakse ranget vastastikust eksperdihinnangut.

Pärandis Versiooni juhtimissüsteemid (nagu CVS) piiras ühendamise raskus seda kogenud kasutajatega. Muud kaasaegsed, kuid tsentraliseeritud versioonikontrollisüsteemid nagu Kukutamine nõuavad kohustuste tegemist keskses hoidlas, nii et kiire töövoog koos kohaliku hargnemise ja ühendamisega on ebatüüpiline.

Gitis tavaliselt kasutatav hargnemistöövoog on uue koodiharu loomine iga uue funktsiooni, veaparanduse või täiuse jaoks.

Neid nimetatakse Funktsioonide harud.

Iga haru jaotab konkreetse funktsiooniga seotud kohustused. Kui uus funktsioon on valmis – st funktsiooniharus on tehtud muudatuste komplekt –, on see valmis tagasi liitmiseks põhiharuga (või mõne muu põhikoodirea haruga, olenevalt kasutatavast töövoost).

Märge: Funktsioonide hargnemine ei ole see ainult hargnev töövoog, mida saate kasutada, kuid see on laialdaselt levinud ja seda võimaldab Giti liitmisfunktsioonide lihtsus.

Ühendage filiaal Gitiga teiseks

. git branch käsku kasutatakse kõigi hoidlas olemasolevate harude loetlemiseks. Hetkel aktiivse haru kõrvale ilmub tärn:

$ git branch
* master

Uue haru loomiseks saame kasutada git branch new-branch käsk. See loob uue haru, mis peegeldab hetkel aktiivse haru kohustusi:

$ git branch new-branch
$ git branch
* master
new-branch

Märge: Kulisside taga, Git ei tegelikult loovad uue haru esindamiseks uue kohustuste komplekti. Filiaal on nagu silt ja kohustused on seda jagatud. Sa oled hargnev uus komplekt muudatusi põhiharust. Kui funktsiooniharu on lõpetatud ja põhiharuga liidetud, muutuvad selles tehtud muudatused põhiharuks, kuni ühendate uue funktsiooniharu põhiharuga.

Praegu oleme loonud uue haru, kuid asume endiselt lähteharus. Uue haru kallal töötamise alustamiseks peame esmalt käivitama käsu git checkout new-branch. See muudab aktiivse haru uueks haruks:

$ git checkout new-branch
Switched to branch ‘new-branch'
$ git branch
master
* new-branch

Siinkohal saab uue funktsiooni rakendamiseks teha kohustusi uues harus. Kui funktsioon on valmis, saab haru tagasi põhikoodiharuks liita.

Kõigepealt jookseme git checkout master et muuta aktiivne haru tagasi master haru. Seejärel käivitame käsu git merge new-branch et liita uus funktsioon põhifunktsiooniga filiaal.

Märge: git merge liidab määratud haru hetkel aktiivse haruga. Seega peame olema sellel harul, nagu oleme sulandumine sisse.

Kui ühendate uue funktsiooni põhiharuga, soovite esmalt lülituda põhiharule ja seejärel sellega liituda.

# ...develop some code...

$ git add .
$ git commit –m "Some commit message"
$ git checkout master
Switched to branch 'master'
$ git merge new-branch

Tutvuge meie praktilise ja praktilise Giti õppimise juhendiga, mis sisaldab parimaid tavasid, tööstusharus aktsepteeritud standardeid ja kaasas olevat petulehte. Lõpetage Giti käskude guugeldamine ja tegelikult õppima seda!

Kui kõik läheb hästi, on meie töö tehtud. Uue funktsiooni kohustused ilmuvad nüüd põhiharus. Siiski on võimalik, et Git ei saa liitmist lõpule viia lähteharu konflikti muudatuse tõttu. Seda nimetatakse a liita konflikt.

Kokkuvõtteks võib öelda, et siin on käsud uue haru loomiseks, mõnede sissekannete tegemiseks ja selle tagasi ühendamiseks masteriks:

$ git checkout master
$ git branch new-branch
$ git checkout new-branch

# ...develop some code...

$ git add .
$ git commit –m "Some commit message"
$ git checkout master
$ git merge new-branch

Teave Autor

Selle artikli kirjutas Jacob Stopak, tarkvarakonsultant ja arendaja, kelle kirg on aidata teistel koodi abil oma elu paremaks muuta. Jacob on looja Esialgne sidumine – sait, mis aitab uudishimulikel arendajatel õppida, kuidas nende lemmikprogramme kodeeritakse. Selle esiletõstetud projekt aitab inimesi õppige Git koodi tasemel.

Ajatempel:

Veel alates Stackabus