Jinsi ya kutumia Mfumo wa Udhibiti wa Toleo la Git kwenye Linux [Mwongozo Kamili]


Udhibiti wa Toleo (udhibiti wa masahihisho au udhibiti wa chanzo) ni njia ya kurekodi mabadiliko kwenye faili au mkusanyiko wa faili kwa wakati ili uweze kukumbuka matoleo mahususi baadaye. Mfumo wa kudhibiti toleo (au VCS kwa kifupi) ni zana inayorekodi mabadiliko kwenye faili kwenye mfumo wa faili.

Kuna mifumo mingi ya udhibiti wa matoleo huko nje, lakini Git kwa sasa ndiyo maarufu zaidi na inayotumiwa mara kwa mara, haswa kwa usimamizi wa nambari ya chanzo. Udhibiti wa toleo unaweza kutumika kwa karibu aina yoyote ya faili kwenye kompyuta, sio tu msimbo wa chanzo.

Mifumo/zana za udhibiti wa matoleo hutoa vipengele kadhaa vinavyoruhusu watu binafsi au kikundi cha watu:

  • unda matoleo ya mradi.
  • fuatilia mabadiliko kwa usahihi na kutatua migogoro.
  • unganisha mabadiliko katika toleo la kawaida.
  • rejesha na kutendua mabadiliko kwa faili zilizochaguliwa au mradi mzima.
  • fikia matoleo ya kihistoria ya mradi ili kulinganisha mabadiliko ya wakati.
  • angalia ni nani aliyerekebisha mara ya mwisho kitu ambacho kinaweza kusababisha tatizo.
  • unda chelezo salama nje ya tovuti ya mradi.
  • tumia mashine nyingi kufanya kazi kwenye mradi mmoja na mengine mengi.

Mradi chini ya mfumo wa udhibiti wa toleo kama vile Git utakuwa na sehemu tatu, ambazo ni:

  • hazina: hifadhidata ya kurekodi hali au mabadiliko kwenye faili zako za mradi. Ina metadata zote muhimu za Git na vitu vya mradi mpya. Kumbuka kwamba hii ndiyo kawaida inakiliwa unapounganisha hazina kutoka kwa kompyuta nyingine kwenye mtandao au seva ya mbali.
  • saraka ya kazi au eneo: huhifadhi nakala ya faili za mradi ambazo unaweza kufanyia kazi (fanya nyongeza, kufuta na vitendo vingine vya urekebishaji).
  • eneo la jukwaa: faili (inayojulikana kama fahirisi chini ya Git) ndani ya saraka ya Git, ambayo huhifadhi habari kuhusu mabadiliko, ambayo uko tayari kufanya (kuhifadhi hali ya faili au seti ya faili) kwenye hazina.< /li>

Kuna aina mbili kuu za VCS, tofauti kuu ikiwa ni idadi ya hazina:

  • Mifumo ya Udhibiti wa Toleo la Kati (CVCSs): hapa kila mwanachama wa timu ya mradi anapata saraka yake ya kufanya kazi ya ndani, hata hivyo, hufanya mabadiliko kwenye hazina moja kuu.
  • Mifumo ya Kudhibiti Matoleo Iliyosambazwa (DVCS): chini ya hili, kila mwanachama wa timu ya mradi anapata saraka yake ya kufanya kazi ya ndani na saraka ya Git ambapo wanaweza kufanya ahadi. Baada ya mtu kufanya ahadi ndani ya nchi, washiriki wengine wa timu hawawezi kufikia mabadiliko hadi atakapoyasukuma hadi kwenye hazina kuu. Git ni mfano wa DVCS.

Kwa kuongezea, hazina ya Git inaweza kuwa wazi (hazina ambayo haina saraka ya kufanya kazi) au isiyo wazi (moja iliyo na saraka ya kufanya kazi). Hazina zilizoshirikiwa (au za umma au za kati) zinapaswa kuwa wazi kila wakati - hazina zote za Github ziko wazi.

Jifunze Udhibiti wa Toleo na Git

Git ni chanzo cha bure na wazi, haraka, chenye nguvu, kinachosambazwa, rahisi kutumia, na mfumo maarufu wa udhibiti wa toleo ambao ni mzuri sana na miradi mikubwa, na ina mfumo wa kushangaza wa matawi na kuunganisha. Imeundwa kushughulikia data zaidi kama safu ya vijipicha vya mfumo mdogo wa faili, ambao umehifadhiwa kwenye saraka ya Git.

Mtiririko wa kazi chini ya Git ni rahisi sana: unafanya marekebisho kwa faili kwenye saraka yako ya kufanya kazi, kisha ongeza kwa hiari faili hizo ambazo zimebadilika, kwenye eneo la hatua, kuwa sehemu ya ahadi yako inayofuata.

Mara tu ukiwa tayari, unafanya ahadi, ambayo inachukua faili kutoka kwa eneo la kuweka na kuhifadhi picha hiyo kabisa kwenye saraka ya Git.

Ili kusanidi Git kwenye Linux, tumia amri inayofaa kwa usambazaji wako wa chaguo:

$ sudo apt install git   [On Debian/Ubuntu]
$ sudo yum install git   [On CentOS/RHEL]

Baada ya kusakinisha Git, inashauriwa uiambie Git wewe ni nani kwa kutoa jina lako kamili na anwani ya barua pepe, kama ifuatavyo:

$ git config --global user.name “Aaron Kili”
$ git config --global user.email “[email ”

Kuangalia mipangilio yako ya Git, tumia amri ifuatayo.

$ git config --list 

Inaunda Hifadhi Mpya ya Git

Hifadhi zilizoshirikiwa au mtiririko wa kazi kati ni kawaida sana na ndivyo tutakavyoonyesha hapa. Kwa mfano, tunadhania kuwa umepewa jukumu la kusanidi hazina kuu ya mbali kwa wasimamizi/watayarishaji programu kutoka idara mbalimbali katika shirika lako, ili kufanya kazi kwenye mradi unaoitwa bashscripts, ambao utahifadhiwa chini ya /projects/scriptts/ kwenye seva.

SSH kwenye seva ya mbali na uunde saraka inayohitajika, unda kikundi kinachoitwa sysadmins (ongeza washiriki wote wa timu ya mradi kwenye kikundi hiki k.m. msimamizi wa mtumiaji), na uweke ruhusa zinazofaa kwenye saraka hii.

# mkdir-p /projects/scripts/
# groupadd sysadmins
# usermod -aG sysadmins admin
# chown :sysadmins -R /projects/scripts/
# chmod 770 -R /projects/scripts/

Kisha anzisha hazina ya mradi tupu.

# git init --bare /projects/scripts/bashscripts

Kwa wakati huu, umefanikiwa kuanzisha saraka tupu ya Git ambayo ni kituo kikuu cha uhifadhi cha mradi huo. Jaribu kufanya orodha ya saraka ili kuona faili zote na saraka huko:

# ls -la /projects/scripts/bashscripts/

Funga Hifadhi ya Git

Sasa unganisha hazina ya Git iliyoshirikiwa ya mbali kwa kompyuta yako ya karibu kupitia SSH (unaweza pia kuiga kupitia HTTP/HTTPS ikiwa una seva ya wavuti iliyosakinishwa na kusanidiwa ipasavyo, kama ilivyo kwa hazina nyingi za umma kwenye Github), kwa mfano:

$ git clone ssh://[email _server_ip:/projects/scripts/bashscripts 

Ili kuifanya kwa saraka maalum (~/bin/bashscripts), tumia amri iliyo hapa chini.

$ git clone ssh://[email _server_ip:/projects/scripts/bashscripts ~/bin/bashscripts

Sasa unayo mfano wa ndani wa mradi katika hazina isiyo wazi (iliyo na saraka ya kufanya kazi), unaweza kuunda muundo wa awali wa mradi (yaani, ongeza faili ya README.md, saraka ndogo za aina tofauti za hati, kwa mfano, recon. kuhifadhi hati za upelelezi, hati za sysadmin ro store n.k.):

$ cd ~/bin/bashscripts/
$ ls -la

Angalia Muhtasari wa Hali ya Git

Ili kuonyesha hali ya saraka yako ya kufanya kazi, tumia amri ya hali ambayo itakuonyesha mabadiliko yoyote ambayo umefanya; ni faili gani hazifuatiliwi na Git; mabadiliko hayo ambayo yamefanywa na kadhalika.

$ git status 

Mabadiliko ya Hatua ya Git na Kujitolea

Ifuatayo, panga mabadiliko yote kwa kutumia amri ya kuongeza na swichi ya -A na ufanye ahadi ya kwanza. Alama ya -a inaelekeza amri ya kuweka hatua kiotomatiki faili ambazo zimerekebishwa, na -m inatumika kubainisha ujumbe wa ahadi:

$ git add -A
$ git commit -a -m "Initial Commit"

Chapisha Ahadi za Ndani ya Hazina ya Git ya Mbali

Kama timu ya mradi inavyoongoza, kwa kuwa sasa umeunda muundo wa mradi, unaweza kuchapisha mabadiliko kwenye hazina kuu kwa kutumia amri ya kushinikiza kama inavyoonyeshwa.

$ git push origin master

Hivi sasa, hazina yako ya git ya karibu inapaswa kusasishwa na hazina kuu ya mradi (asili), unaweza kudhibitisha hii kwa kuendesha amri ya hali mara nyingine tena.

$ git status

Unaweza pia kuwajulisha wenzako kuanza kufanya kazi kwenye mradi kwa kuunda hazina kwenye kompyuta zao za karibu.

Unda Tawi Jipya la Git

Kuweka matawi hukuruhusu kufanyia kazi kipengele cha mradi wako au kurekebisha masuala haraka bila kugusa msingi wa kanuni (tawi kuu). Ili kuunda tawi jipya na kisha kulibadilisha, tumia amri za tawi na za malipo kwa mtiririko huo.

$ git branch latest
$ git checkout latest

Vinginevyo, unaweza kuunda tawi jipya na kulibadilisha kwa hatua moja ukitumia amri ya kulipa kwa -b bendera.

$ git checkout -b latest

Unaweza pia kuunda tawi jipya kulingana na tawi lingine, kwa mfano.

$ git checkout -b latest master

Kuangalia ni tawi gani uko, tumia amri ya tawi (herufi ya nyota inaonyesha tawi linalofanya kazi):

$ git branch

Baada ya kuunda na kubadili tawi jipya, fanya mabadiliko kadhaa chini yake na ufanye ahadi kadhaa.

$ vim sysadmin/topprocs.sh
$ git status
$ git commit add  sysadmin/topprocs.sh
$ git commit -a -m 'modified topprocs.sh'

Unganisha Mabadiliko Kutoka Tawi Moja hadi Lingine

Ili kuunganisha mabadiliko chini ya mtihani wa tawi kwenye tawi kuu, badilisha kwa tawi kuu na uunganishe.

$ git checkout master 
$ git merge test 

Ikiwa huhitaji tena tawi fulani, unaweza kulifuta kwa kutumia swichi ya -d.

$ git branch -d test

Pakua Mabadiliko Kutoka kwa Hifadhi ya Kati ya Mbali

Kwa kudhani washiriki wa timu yako wamesukuma mabadiliko kwenye hazina kuu ya mradi, unaweza kupakua mabadiliko yoyote kwa mfano wako wa karibu wa mradi kwa kutumia amri ya kuvuta.

$ git pull origin
OR
$ git pull origin master	#if you have switched to another branch

Kagua Hifadhi ya Git na Ufanye Ulinganisho

Katika sehemu hii ya mwisho, tutashughulikia baadhi ya vipengele muhimu vya Git ambavyo vinafuatilia shughuli zote zilizotokea kwenye hazina yako, hivyo kukuwezesha kutazama historia ya mradi.

Kipengele cha kwanza ni logi ya Git, ambayo inaonyesha kumbukumbu za ahadi:

$ git log

Kipengele kingine muhimu ni amri ya onyesho ambayo inaonyesha aina mbalimbali za vitu (kama vile ahadi, vitambulisho, miti n.k..):

$ git show

Kipengele cha tatu muhimu unachohitaji kujua ni amri ya tofauti, inayotumiwa kulinganisha au kuonyesha tofauti kati ya matawi, kuonyesha mabadiliko kati ya saraka ya kazi na faharisi, mabadiliko kati ya faili mbili kwenye diski na mengi zaidi.

Kwa mfano ili kuonyesha tofauti kati ya bwana na tawi la hivi karibuni, unaweza kuendesha amri ifuatayo.

$ git diff master latest

Git inaruhusu timu ya watu kufanya kazi pamoja kwa kutumia faili sawa, huku ikirekodi mabadiliko kwenye faili baada ya muda ili waweze kukumbuka matoleo mahususi baadaye.

Kwa njia hii, unaweza kutumia Git kudhibiti msimbo wa chanzo, faili za usanidi au faili yoyote iliyohifadhiwa kwenye kompyuta. Unaweza kutaka kurejelea Hati ya Mtandaoni ya Git kwa hati zaidi.