Kako uporabljati sistem za nadzor različic Git v Linuxu [Celovit vodnik]


Nadzor različic (nadzor revizije ali nadzor vira) je način zapisovanja sprememb datoteke ali zbirke datotek sčasoma, tako da se lahko pozneje prikličete določene različice. Sistem za nadzor različic (ali na kratko VCS) je orodje, ki beleži spremembe datotek v datotečnem sistemu.

Obstaja veliko sistemov za nadzor različic, vendar je Git trenutno najbolj priljubljen in pogosto uporabljen, zlasti za upravljanje izvorne kode. Nadzor različic se lahko dejansko uporablja za skoraj vse vrste datotek v računalniku, ne le za izvorno kodo.

Sistemi/orodja za nadzor različic ponujajo več funkcij, ki posameznikom ali skupini ljudi omogočajo:

  • ustvarite različice projekta.
  • natančno spremljajte spremembe in odpravljajte konflikte.
  • združite spremembe v skupno različico.
  • povrnitev in razveljavitev sprememb izbranih datotek ali celotnega projekta.
  • dostopajte do zgodovinskih različic projekta, da primerjate spremembe skozi čas.
  • poglejte, kdo je nazadnje spremenil nekaj, kar bi lahko povzročilo težavo.
  • ustvarite varno varnostno kopijo projekta zunaj mesta.
  • uporabite več strojev za delo na enem projektu in še veliko več.

Projekt v sistemu nadzora različic, kot je Git, bo imel v glavnem tri razdelke, in sicer:

  • repozitorij: zbirka podatkov za beleženje stanja ali sprememb datotek vašega projekta. Vsebuje vse potrebne metapodatke in predmete Git za nov projekt. Upoštevajte, da se običajno to kopira, ko klonirate skladišče iz drugega računalnika v omrežju ali na oddaljenem strežniku.
  • delovni imenik ali območje: shrani kopijo projektnih datotek, na katerih lahko delate (dodajate, brišete in druga dejanja spreminjanja).
  • uprizoritveno območje: datoteka (znana kot indeks pod Gitom) v imeniku Git, ki shranjuje informacije o spremembah, ki ste jih pripravljeni vnesti (shranite stanje datoteke ali nabora datotek) v skladišče. < /li>

Obstajata dve glavni vrsti VCS, glavna razlika pa je število skladišč:

  • Centralizirani sistemi za nadzor različic (CVCS): tukaj vsak član projektne skupine dobi svoj lokalni delovni imenik, vendar zaveže spremembe le v eno samo osrednje skladišče.
  • Razdeljeni sistemi za nadzor različic (DVCS): v skladu s tem vsak član projektne skupine dobi svoj lokalni delovni imenik in imenik Git, v katerem lahko sprejema potrditve. Ko se posameznik lokalno zaveže, drugi člani ekipe ne morejo dostopati do sprememb, dokler jih ne potisne v osrednje skladišče. Git je primer DVCS.

Poleg tega je lahko skladišče Git golo (repozitorij, ki nima delovnega imenika) ali nerazprto (eno z delovnim imenikom). Skupna (ali javna ali osrednja) skladišča morajo biti vedno gola - vsa skladišča Github so gola.

Naučite se nadzora različic z Gitom

Git je brezplačen in odprtokoden, hiter, zmogljiv, distribuiran, enostaven za uporabo in priljubljen sistem za nadzor različic, ki je zelo učinkovit pri velikih projektih in ima izjemen sistem razvejanja in združevanja. Zasnovan je za obdelavo podatkov bolj kot niz posnetkov mini datotečnega sistema, ki je shranjen v imeniku Git.

Potek dela v Gitu je zelo preprost: spreminjate datoteke v svojem delovnem imeniku, nato pa selektivno dodate samo tiste datoteke, ki so se spremenile, v območje uprizoritve, da bodo del vaše naslednje predaje.

Ko ste pripravljeni, naredite potrditev, ki vzame datoteke iz območja uprizoritve in ta posnetek trajno shrani v imenik Git.

Če želite namestiti Git v Linux, uporabite ustrezen ukaz za svojo distribucijo:

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

Po namestitvi Gita je priporočljivo, da Gitu sporočite, kdo ste, tako da navedete svoje polno ime in e -poštni naslov:

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

Če želite preveriti nastavitve Gita, uporabite naslednji ukaz.

$ git config --list 

Ustvari novo skladišče Git

Skupna skladišča ali centralizirani tokovi dela so zelo pogosti in to bomo pokazali tukaj. Predvidevamo na primer, da ste imeli nalogo, da nastavite oddaljeno centralno repozitorij za sistemske skrbnike/programerje iz različnih oddelkov v vaši organizaciji, da delate na projektu, imenovanem bashscripts, ki bo shranjen v/projects/scritpts/na strežniku.

SSH v oddaljeni strežnik in ustvarite potreben imenik, ustvarite skupino, imenovano sysadmins (dodajte vse člane projektne skupine v to skupino, na primer skrbnika uporabnika), in v tem imeniku nastavite ustrezna dovoljenja.

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

Nato inicializirajte odprto skladišče projektov.

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

Na tej točki ste uspešno inicializirali goli imenik Git, ki je osrednji pomnilnik projekta. Poskusite narediti seznam imenika, če si želite ogledati vse datoteke in imenike v njem:

# ls -la /projects/scripts/bashscripts/

Klonirajte skladišče Git

Zdaj klonirajte oddaljeno skladišče Git v skupni rabi v lokalni računalnik prek SSH (lahko tudi klonirate prek HTTP/HTTPS, če imate nameščen in ustrezno konfiguriran spletni strežnik, kot je to pri večini javnih skladišč v Githubu), na primer:

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

Če ga želite klonirati v določen imenik (~/bin/bashscripts), uporabite spodnji ukaz.

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

Zdaj imate lokalni primerek projekta v nerazkritem skladišču (z delovnim imenikom), lahko ustvarite začetno strukturo projekta (tj. Dodate datoteko README.md, podimenike za različne kategorije skriptov, npr. za shranjevanje izvidniških skriptov, sysadmin ro store skriptov sysadmin itd.):

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

Preverite povzetek stanja Git

Če želite prikazati stanje svojega delovnega imenika, uporabite ukaz za stanje, ki vam prikaže vse spremembe, ki ste jih naredili; katerim datotekam Git ne sledi; tiste spremembe, ki so bile uprizorjene itd.

$ git status 

Git Stage Changes and Commit

Nato stopnite vse spremembe z ukazom add s stikalom -A in opravite začetno potrditev. Zastavica -a ukazu daje ukaz za samodejno uprizarjanje spremenjenih datotek, -m pa se uporablja za podajanje sporočila o predaji:

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

Objavite lokalne zaveze v oddaljenem skladišču Git

Kot vodja projektne skupine lahko zdaj, ko ste ustvarili strukturo projekta, objavite spremembe v osrednjem skladišču s pomočjo ukaza push, kot je prikazano.

$ git push origin master

Trenutno bi moralo biti vaše lokalno skladišče git posodobljeno z osrednjim skladiščem projekta (izvor), to lahko potrdite tako, da znova zaženete ukaz za stanje.

$ git status

Sodelavce lahko tudi obvestite, da bodo začeli delati na projektu, tako da skladišče klonirate na njihove lokalne računalnike.

Ustvarite novo podružnico Git

Razvejanje vam omogoča, da delate na funkciji svojega projekta ali hitro odpravite težave, ne da bi se dotaknili kodne baze (glavna veja). Če želite ustvariti novo podružnico in nato preiti nanjo, uporabite ukaze veje in blagajne.

$ git branch latest
$ git checkout latest

Druga možnost je, da ustvarite novo podružnico in v enem koraku preklopite nanjo z ukazom za plačilo z zastavico -b .

$ git checkout -b latest

Na primer, na podlagi druge veje lahko ustvarite tudi novo vejo.

$ git checkout -b latest master

Če želite preveriti, v kateri veji ste, uporabite ukaz veje (zvezdica označuje aktivno vejo):

$ git branch

Ko ustvarite in preklopite na novo vejo, v njej naredite nekaj sprememb in naredite nekaj potrditev.

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

Združite spremembe iz ene veje v drugo

Če želite združiti spremembe pod preskusom veje v glavno vejo, preklopite na glavno vejo in naredite združitev.

$ git checkout master 
$ git merge test 

Če določene veje ne potrebujete več, jo lahko izbrišete s stikalom -d .

$ git branch -d test

Prenesite spremembe iz oddaljenega centralnega skladišča

Ob predpostavki, da so člani vaše ekipe pritisnili na spremembe v osrednjem skladišču projektov, lahko vse spremembe prenesete v lokalni primerek projekta z ukazom pull.

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

Preglejte skladišče Git in izvedite primerjave

V tem zadnjem razdelku bomo obravnavali nekaj uporabnih funkcij Git, ki spremljajo vse dejavnosti, ki so se zgodile v vašem skladišču, in vam tako omogočijo ogled zgodovine projekta.

Prva funkcija je dnevnik Git, ki prikazuje dnevnike urejanja:

$ git log

Druga pomembna značilnost je ukaz show, ki prikazuje različne vrste predmetov (kot so urejanja, oznake, drevesa itd.):

$ git show

Tretja pomembna lastnost, ki jo morate poznati, je ukaz diff, ki se uporablja za primerjavo ali prikaz razlik med vejami, prikaz sprememb med delovnim imenikom in indeksom, spremembe med dvema datotekama na disku in še veliko več.

Če želite na primer prikazati razliko med glavno in zadnjo vejo, lahko zaženete naslednji ukaz.

$ git diff master latest

Git skupini ljudi omogoča skupno delo z uporabo istih datotek, hkrati pa snemanje sprememb datotek (datotek) sčasoma, tako da se lahko pozneje prikličejo določene različice.

Na ta način lahko uporabite Git za upravljanje izvorne kode, konfiguracijskih datotek ali katere koli datoteke, shranjene v računalniku. Za nadaljnjo dokumentacijo se obrnite na spletno dokumentacijo Git.