Yadda ake Amfani da Tsarin Sarrafa Sigar Git a cikin Linux [Madaidaicin Jagora]


Sarrafa sigar (ikon bita ko sarrafa tushe) hanya ce ta yin rikodin canje-canje zuwa fayil ko tarin fayiloli akan lokaci ta yadda zaku iya tuna takamaiman nau'ikan daga baya. Tsarin sarrafa sigar (ko VCS a takaice) kayan aiki ne wanda ke yin rikodin canje-canje zuwa fayiloli akan tsarin fayil.

Akwai tsarin sarrafa sigar da yawa a can, amma Git a halin yanzu shine mafi shahara kuma ana yawan amfani dashi, musamman don sarrafa lambar tushe. Ana iya amfani da sarrafa sigar zahiri don kusan kowane nau'in fayil akan kwamfuta, ba kawai lambar tushe ba.

Tsarin sarrafawa/kayan aiki na sigar suna ba da fasali da yawa waɗanda ke ba da damar mutane ko ƙungiyar mutane su:

  • ƙirƙirar nau'ikan aikin.
  • a bin diddigin canje-canje daidai kuma a warware rikice-rikice.
  • haɗa canje-canje zuwa sigar gama gari.
  • juyawa kuma gyara canje-canje zuwa fayilolin da aka zaɓa ko gabaɗayan aikin.
  • samu nau'ikan ayyukan tarihi don kwatanta canje-canje akan lokaci.
  • duba wanda ya gyara wani abu na ƙarshe wanda zai iya haifar da matsala.
  • ƙirƙiri amintaccen madadin aikin.
  • amfani da injina da yawa don yin aiki akan aiki ɗaya da ƙari.

Aikin da ke ƙarƙashin tsarin sarrafa sigar kamar Git zai kasance yana da sassa uku musamman:

  • ma'ajin ajiya: bayanan bayanai don yin rikodin yanayi ko canje-canje ga fayilolin aikinku. Ya ƙunshi duk mahimman bayanan Git da abubuwa don sabon aikin. Lura cewa wannan shine yawanci abin da ake kwafi lokacin da kuka haɗa wurin ajiya daga wata kwamfuta akan hanyar sadarwa ko sabar nesa.
  • littafin aiki ko yanki: yana adana kwafin fayilolin aikin waɗanda zaku iya aiki dasu (yi ƙari, gogewa da sauran ayyukan gyarawa).
  • Wurin tsarawa: fayil (wanda aka sani da fihirisar a ƙarƙashin Git) a cikin kundin Git, wanda ke adana bayanai game da canje-canje, wanda a shirye kuke don aiwatarwa (ajiye yanayin fayil ko saitin fayiloli) zuwa ma'ajiyar.< /li>

Akwai manyan nau'ikan VCS guda biyu, tare da babban bambanci shine adadin wuraren ajiya:

  • Centralized Version Control Systems (CVCSs): anan kowane memba na ƙungiyar aikin yana samun nasu kundin tsarin aiki na gida, duk da haka, sun yi canje-canje zuwa wurin ajiya guda ɗaya kawai.
  • Tsarukan Sarrafa Sabis na Rarraba (DVCSs): a ƙarƙashin wannan, kowane memba na ƙungiyar aikin yana samun nasu kundin adireshi na gida da kuma littafin Git inda za su iya yin alƙawari. Bayan mutum ya yi alƙawarin a cikin gida, sauran membobin ƙungiyar ba za su iya samun dama ga canje-canjen ba har sai ya tura su zuwa ma'ajiyar ta tsakiya. Git misali ne na DVCS.

Bugu da kari, ma'ajiyar Git na iya zama ba komai (maajiyar da ba ta da kundin adireshi) ko mara tushe (wanda ke da kundin adireshi). Ma'ajiyoyin da aka raba (ko na jama'a ko na tsakiya) yakamata koyaushe su kasance tsirara - duk wuraren ajiyar Github babu komai.

Koyi Sarrafa Sigar tare da Git

Git kyauta ne kuma tushen tushe, mai sauri, mai ƙarfi, rarrabawa, mai sauƙin amfani, kuma sanannen tsarin sarrafa sigar da ke da inganci tare da manyan ayyuka, kuma yana da tsarin reshe na ban mamaki da haɗawa. An ƙirƙira shi don sarrafa bayanai kamar jerin hotuna na ƙaramin tsarin fayil, wanda aka adana a cikin kundin adireshin Git.

Gudun aiki a ƙarƙashin Git abu ne mai sauqi qwarai: kuna yin gyare-gyare zuwa fayiloli a cikin kundin aiki, sannan zaɓi kawai waɗannan fayilolin da suka canza, zuwa wurin tsarawa, don zama ɓangare na alƙawarin ku na gaba.

Da zarar kun shirya, kun yi alƙawarin, wanda ke ɗaukar fayilolin daga wurin tsarawa kuma yana adana wannan hoton har abada zuwa littafin Git.

Don shigar da Git a cikin Linux, yi amfani da umarnin da ya dace don rarraba zaɓin ku:

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

Bayan shigar da Git, ana ba da shawarar cewa ka gaya wa Git wanene kai ta hanyar samar da cikakken sunanka da adireshin imel, kamar haka:

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

Don duba saitunan Git ɗin ku, yi amfani da umarni mai zuwa.

$ git config --list 

Yana Ƙirƙirar Sabon Ma'ajiyar Git

Ma'ajiyar da aka raba ko tsarin aiki na tsakiya sun zama ruwan dare gama gari kuma shine abin da zamu nuna anan. Misali, muna ɗauka cewa an ba ku aiki don saita wurin ajiyar wuri mai nisa don masu gudanar da tsarin/masu shirye-shirye daga sassa daban-daban a cikin ƙungiyar ku, don yin aiki akan aikin da ake kira bashscripts, wanda za'a adana a ƙarƙashin /projects/scritpts/ akan uwar garken.

SSH cikin uwar garken nesa kuma ƙirƙirar jagorar da ake buƙata, ƙirƙiri ƙungiyar da ake kira sysadmins (ƙara duk membobin ƙungiyar aikin zuwa wannan rukunin misali admin mai amfani), sannan saita izini masu dacewa akan wannan jagorar.

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

Sa'an nan kuma fara aikin ma'ajin aikin.

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

A wannan gaba, kun sami nasarar ƙaddamar da littafin Git mara kyau wanda shine babban wurin ajiyar kayan aikin. Yi ƙoƙarin yin jeri na kundin adireshi don ganin duk fayiloli da kundayen adireshi a wurin:

# ls -la /projects/scripts/bashscripts/

Clone a Git Repository

Yanzu rufe wurin ajiyar Git mai nisa zuwa kwamfutarka ta gida ta hanyar SSH (zaka iya clone ta hanyar HTTP/HTTPS idan kana da sabar yanar gizo da aka shigar da kuma daidaita shi yadda ya kamata, kamar yadda yake tare da yawancin wuraren ajiyar jama'a akan Github), misali:

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

Don haɗa shi zuwa takamaiman jagorar (~/bin/bashscripts), yi amfani da umarnin da ke ƙasa.

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

Yanzu kuna da misali na gida na aikin a cikin ma'ajiyar da ba ta da tushe (tare da kundin aiki), zaku iya ƙirƙirar tsarin farko na aikin (watau ƙara fayil ɗin README.md, ƙananan kundayen adireshi daban-daban na rubutun misali recon. don adana rubutun bincike, sysadmin ro store sysadmin scripts da sauransu):

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

Duba Takaitaccen Matsayin Git

Don nuna matsayin kundin adireshi na aiki, yi amfani da umarnin matsayi wanda zai nuna muku kowane canje-canje da kuka yi; waɗanne fayilolin Git ba sa bin sawu; wadancan canje-canjen da aka yi da sauransu.

$ git status 

Canje-canjen Matsayin Git da Ƙaddamarwa

Na gaba, aiwatar da duk canje-canje ta amfani da ƙara umarni tare da canza -A kuma yi aikin farko. Tutar -a tana ba da umarni don daidaita fayilolin da aka canza ta atomatik, kuma ana amfani da -m don tantance saƙon da aka yi:

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

Buga Ƙididdiga na Gida don Ma'ajiyar Git Mai Nisa

Kamar yadda ƙungiyar aikin ke jagoranta, yanzu da kun ƙirƙiri tsarin aikin, zaku iya buga canje-canje zuwa ma'ajin ta tsakiya ta amfani da umarnin turawa kamar yadda aka nuna.

$ git push origin master

A yanzu, ma'ajin git na gida yakamata ya kasance na zamani tare da ma'ajin cibiyar (asalin), zaku iya tabbatar da hakan ta hanyar sake aiwatar da umarnin matsayi sau ɗaya.

$ git status

Hakanan zaka iya sanar da ku abokan aiki don fara aiki akan aikin ta hanyar rufe ma'ajin zuwa kwamfutoci na gida.

Ƙirƙiri Sabon Reshen Git

Reshe yana ba ku damar yin aiki akan wani fasalin aikinku ko gyara al'amura cikin sauri ba tare da taɓa codebase ba (manyan reshe). Don ƙirƙirar sabon reshe sannan canza zuwa gare shi, yi amfani da reshe da umarnin wurin biya bi da bi.

$ git branch latest
$ git checkout latest

A madadin, za ku iya ƙirƙirar sabon reshe kuma ku canza zuwa gare shi a mataki ɗaya ta amfani da umarnin biya tare da alamar -b.

$ git checkout -b latest

Hakanan zaka iya ƙirƙirar sabon reshe bisa wani reshe, alal misali.

$ git checkout -b latest master

Don bincika ko wane reshe ne, yi amfani da umarnin reshe (halin alamar alama yana nuna reshe mai aiki):

$ git branch

Bayan ƙirƙira da canzawa zuwa sabon reshe, yi wasu canje-canje a ƙarƙashinsa kuma kuyi wasu ayyuka.

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

Haɗa Canje-canje Daga Ɗayan Reshe zuwa Wani

Don haɗa canje-canje a ƙarƙashin gwajin reshe zuwa reshen babban, canza zuwa reshen babban kuma yi haɗin.

$ git checkout master 
$ git merge test 

Idan baku buƙatar wani reshe na musamman, zaku iya share shi ta amfani da maɓallin -d.

$ git branch -d test

Zazzage Canje-canje Daga Ma'ajiya ta Tsakiya Mai Nisa

Da ɗaukan membobin ƙungiyar ku sun tura canje-canje zuwa wurin ajiyar aikin na tsakiya, zaku iya zazzage kowane canje-canje zuwa misalin aikin ku na gida ta amfani da umarnin ja.

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

Duba Ma'ajiyar Git kuma Yi Kwatancen

A cikin wannan sashe na ƙarshe, za mu rufe wasu fasalulluka masu amfani na Git waɗanda ke lura da duk ayyukan da suka faru a cikin ma'ajiyar ku, don haka ba ku damar duba tarihin aikin.

Siffar farko ita ce Git log, wanda ke nuna ayyukan rajista:

$ git log

Wani muhimmin fasali shine umarnin nuni wanda ke nuna nau'ikan abubuwa daban-daban (kamar aikatawa, tags, bishiyoyi da sauransu..):

$ git show

Abu mai mahimmanci na uku da kuke buƙatar sani shine umarnin diff, ana amfani dashi don kwatanta ko nuna bambanci tsakanin rassan, nuna canje-canje tsakanin kundin aiki da fihirisar, canje-canje tsakanin fayiloli biyu akan faifai da ƙari.

Misali don nuna bambanci tsakanin maigida da sabon reshe, zaku iya gudanar da umarni mai zuwa.

$ git diff master latest

Git yana ba ƙungiyar mutane damar yin aiki tare ta amfani da fayil iri ɗaya, yayin yin rikodin canje-canje zuwa fayil (s) na tsawon lokaci don su iya tuna takamaiman nau'ikan daga baya.

Ta wannan hanyar, zaku iya amfani da Git don sarrafa lambar tushe, fayilolin sanyi ko kowane fayil da aka adana akan kwamfuta. Kuna iya son komawa zuwa Takardun Kan layi na Git don ƙarin takaddun.