Kā izmantot Git versiju kontroles sistēmu Linux [Visaptveroša rokasgrāmata]
Versijas kontrole (pārskatīšanas vai avota vadība) ir veids, kā laika gaitā ierakstīt faila vai failu kolekcijas izmaiņas, lai vēlāk varētu atsaukt konkrētas versijas. Versiju kontroles sistēma (vai īsumā VCS) ir rīks, kas reģistrē izmaiņas failu sistēmā esošajās datnēs.
Tur ir daudz versiju kontroles sistēmu, taču Git pašlaik ir vispopulārākais un visbiežāk izmantotais, it īpaši avota kodu pārvaldībai. Versijas kontroli faktiski var izmantot gandrīz jebkura veida failiem datorā, ne tikai avota kodam.
Versiju kontroles sistēmas/rīki piedāvā vairākas funkcijas, kas ļauj personām vai cilvēku grupai:
- izveidot projekta versijas.
- precīzi izsekot izmaiņām un atrisināt konfliktus.
- apvienot izmaiņas kopējā versijā.
- atlasīto failu vai visa projekta izmaiņu atcelšana un atsaukšana.
- piekļūstiet vēsturiskām projekta versijām, lai salīdzinātu izmaiņas laika gaitā.
- uzziniet, kurš pēdējoreiz modificēja kaut ko tādu, kas varētu radīt problēmas.
- izveidojiet drošu projekta dublējumu ārpus uzņēmuma.
- izmantojiet vairākas mašīnas, lai strādātu pie viena projekta un daudz ko citu.
Projektam ar tādas versijas kontroles sistēmu kā Git galvenokārt būs trīs sadaļas:
- repozitorijs: datu bāze projekta failu stāvokļa vai izmaiņu reģistrēšanai. Tas satur visus nepieciešamos Git metadatus un objektus jaunajam projektam. Ņemiet vērā, ka tas parasti tiek kopēts, klonējot repozitoriju no cita tīkla vai attālā servera datora.
- darba direktorijs vai apgabals: tiek saglabāta projekta failu kopija, ar kuru jūs varat strādāt (veikt papildinājumus, dzēst un citas modifikācijas darbības).
- pieturvieta: fails (Git direktorijā pazīstams kā indekss) Git direktorijā, kurā tiek glabāta informācija par izmaiņām, kuru esat gatavs veikt (saglabāt faila vai failu kopas stāvokli) krātuvē.
Ir divi galvenie VCS veidi, kuru galvenā atšķirība ir krātuvju skaits:
- Centralizētās versiju kontroles sistēmas (CVCS): šeit katrs projekta grupas dalībnieks iegūst savu vietējo darba direktoriju, taču veic izmaiņas tikai vienā centrālā repozitorijā.
- Izplatītās versiju kontroles sistēmas (DVCS): saskaņā ar to katrs projekta grupas dalībnieks iegūst savu vietējo darba direktoriju un Git direktoriju, kur var veikt saistības. Pēc tam, kad indivīds ir apņēmies veikt lokāli, citi komandas locekļi nevar piekļūt izmaiņām, kamēr viņš/viņa tos nenovirza uz centrālo repozitoriju. Git ir DVCS piemērs.
Turklāt Git repozitorijs var būt tukšs (repozitorijs, kuram nav darba direktorija) vai nav tukšs (tāds ar darba direktoriju). Koplietojamām (vai publiskām vai centrālām) krātuvēm vienmēr jābūt tukšām - visas Github krātuves ir tukšas.
Uzziniet versiju vadību, izmantojot Git
Git ir bezmaksas un atvērta pirmkoda, ātra, jaudīga, izplatīta, viegli lietojama un populāra versiju kontroles sistēma, kas ir ļoti efektīva lieliem projektiem un kurai ir ievērojama sazarošanas un apvienošanas sistēma. Tas ir paredzēts datu apstrādei, piemēram, mini failu sistēmas momentuzņēmumu sērijai, kas tiek glabāta Git direktorijā.
Darbplūsma sadaļā Git ir ļoti vienkārša: jūs veicat izmaiņas failos savā darba direktorijā, pēc tam selektīvi pievienojiet tikai tos failus, kas ir mainīti, pieturvietai, lai būtu daļa no jūsu nākamās saistības.
Kad esat gatavs, jūs veicat apņemšanos, kas paņem failus no pieturvietas un pastāvīgi saglabā šo momentuzņēmumu direktorijā Git.
Lai instalētu Git Linux, izvēlētajam izplatījumam izmantojiet atbilstošo komandu:
$ sudo apt install git [On Debian/Ubuntu] $ sudo yum install git [On CentOS/RHEL]
Pēc Git instalēšanas ieteicams pateikt Git, kas jūs esat, norādot pilnu vārdu un e-pasta adresi šādi:
$ git config --global user.name “Aaron Kili” $ git config --global user.email “[email ”
Lai pārbaudītu savus Git iestatījumus, izmantojiet šo komandu.
$ git config --list
Izveido jaunu Git repozitoriju
Kopīgas krātuves vai centralizētas darbplūsmas ir ļoti izplatītas, un to mēs šeit parādīsim. Piemēram, mēs pieņemam, ka jums ir uzdots iestatīt attālu centrālo repozitoriju sistēmas administratoriem/programmētājiem no dažādiem jūsu organizācijas departamentiem, strādāt pie projekta ar nosaukumu bashscripts, kas tiks saglabāts zem/projekti/scritpts/serverī.
SSH attālajā serverī un izveidojiet nepieciešamo direktoriju, izveidojiet grupu ar nosaukumu sysadmins (pievienojiet šai grupai visus projekta grupas dalībniekus, piemēram, lietotāja administratoru) un iestatiet atbilstošās atļaujas šajā direktorijā.
# mkdir-p /projects/scripts/ # groupadd sysadmins # usermod -aG sysadmins admin # chown :sysadmins -R /projects/scripts/ # chmod 770 -R /projects/scripts/
Pēc tam inicializējiet kailu projekta repozitoriju.
# git init --bare /projects/scripts/bashscripts
Šajā brīdī jūs esat veiksmīgi inicializējis neapbruņotu Git direktoriju, kas ir projekta centrālā krātuve. Mēģiniet izveidot direktorija sarakstu, lai redzētu visus tajā esošos failus un direktorijus:
# ls -la /projects/scripts/bashscripts/
Klonējiet Git repozitoriju
Tagad klonējiet attālo koplietojamo Git repozitoriju savā lokālajā datorā, izmantojot SSH (varat arī klonēt, izmantojot HTTP/HTTPS, ja jums ir instalēts un atbilstoši konfigurēts tīmekļa serveris, kā tas ir lielākajā daļā publisko Github krātuvju), piemēram:
$ git clone ssh://[email _server_ip:/projects/scripts/bashscripts
Lai to klonētu noteiktā direktorijā (~/bin/bashscripts), izmantojiet zemāk esošo komandu.
$ git clone ssh://[email _server_ip:/projects/scripts/bashscripts ~/bin/bashscripts
Tagad jums ir lokāls projekta gadījums bez kailuma repozitorijā (ar darba direktoriju), jūs varat izveidot projekta sākotnējo struktūru (ti, pievienot README.md failu, apakšdirektorijus dažādām skriptu kategorijām, piemēram, glabāt iepazīšanās skriptus, sysadmin ro veikala sysadmin skriptus utt.):
$ cd ~/bin/bashscripts/ $ ls -la
Pārbaudiet Git statusa kopsavilkumu
Lai parādītu darba direktorija statusu, izmantojiet statusa komandu, kas parādīs visas jūsu veiktās izmaiņas; kurus failus Git neseko; tās izmaiņas, kas ir iestudētas utt.
$ git status
Git Stage izmaiņas un apņemšanās
Pēc tam veiciet visas izmaiņas, izmantojot komandu add ar slēdzi -A
un veiciet sākotnējo apņemšanos. Karogs -a
komandē komandu automātiski iestudēt modificētos failus, un -m
tiek izmantots, lai norādītu saistību ziņojumu:
$ git add -A $ git commit -a -m "Initial Commit"
Publicējiet vietējās saistības ar attālo Git repozitoriju
Kā projekta komandas vadība tagad, kad esat izveidojis projekta struktūru, varat publicēt izmaiņas centrālajā repozitorijā, izmantojot push komandu, kā parādīts.
$ git push origin master
Pašlaik vietējam git repozitorijam vajadzētu būt atjauninātam ar projekta centrālo repozitoriju (izcelsmi), to varat apstiprināt, vēlreiz palaižot statusa komandu.
$ git status
Jūs varat arī informēt kolēģus, lai sāktu darbu pie projekta, klonējot krātuvi viņu vietējos datoros.
Izveidojiet jaunu Git filiāli
Atzarošana ļauj strādāt pie sava projekta vai ātri novērst problēmas, nepieskaroties koda bāzei (galvenā filiāle). Lai izveidotu jaunu filiāli un pēc tam pārslēgtos uz to, izmantojiet attiecīgi filiāles un izrakstīšanās komandas.
$ git branch latest $ git checkout latest
Varat arī izveidot jaunu filiāli un pārslēgties uz to vienā solī, izmantojot komandu checkout ar karodziņu -b
.
$ git checkout -b latest
Varat arī izveidot jaunu filiāli, piemēram, pamatojoties uz citu filiāli.
$ git checkout -b latest master
Lai pārbaudītu, kurā filiālē atrodaties, izmantojiet komandu filiāle (zvaigznītes zīme norāda aktīvo filiāli):
$ git branch
Pēc jaunās filiāles izveidošanas un pārslēgšanās veiciet dažas izmaiņas zem tā un veiciet dažas saistības.
$ vim sysadmin/topprocs.sh $ git status $ git commit add sysadmin/topprocs.sh $ git commit -a -m 'modified topprocs.sh'
Apvienot izmaiņas no vienas filiāles uz otru
Lai apvienotu izmaiņas filiāles testa ietvaros galvenajā filiālē, pārslēdzieties uz galveno filiāli un veiciet apvienošanu.
$ git checkout master $ git merge test
Ja jums vairs nav nepieciešama noteikta filiāle, varat to izdzēst, izmantojot slēdzi -d
.
$ git branch -d test
Lejupielādējiet izmaiņas no attālās centrālās krātuves
Pieņemot, ka jūsu komandas locekļi ir virzījuši izmaiņas centrālajā projekta krātuvē, visas izmaiņas varat lejupielādēt projekta lokālajā instancē, izmantojot komandu pull.
$ git pull origin OR $ git pull origin master #if you have switched to another branch
Pārbaudiet Git repozitoriju un veiciet salīdzinājumus
Šajā pēdējā sadaļā mēs aplūkosim dažas noderīgas Git funkcijas, kas seko visām darbībām, kas notika jūsu krātuvē, tādējādi ļaujot jums apskatīt projekta vēsturi.
Pirmā funkcija ir Git žurnāls, kas parāda saistību žurnālus:
$ git log
Vēl viena svarīga iezīme ir komanda show, kas parāda dažādu veidu objektus (piemēram, apņemšanos, tagus, kokus utt.):
$ git show
Trešā svarīgā iezīme, kas jums jāzina, ir komanda diff, ko izmanto, lai salīdzinātu vai parādītu atšķirības starp filiālēm, parādītu izmaiņas starp darba direktoriju un indeksu, izmaiņas starp diviem failiem diskā un daudz ko citu.
Piemēram, lai parādītu atšķirību starp galveno un pēdējo filiāli, varat palaist šo komandu.
$ git diff master latest
Git ļauj cilvēku komandai strādāt kopā, izmantojot to pašu (-os) failu (-us), vienlaikus ierakstot faila (-u) izmaiņas, lai vēlāk varētu atsaukt konkrētas versijas.
Tādā veidā jūs varat izmantot Git, lai pārvaldītu avota kodu, konfigurācijas failus vai visus datorā saglabātos failus. Lai iegūtu papildu dokumentāciju, varat skatīt Git tiešsaistes dokumentāciju.