Git-versionhallintajärjestelmän käyttäminen Linuxissa [Kattava opas]


Versionhallinta (versionhallinta tai lähteen hallinta) on tapa tallentaa tiedostoon tai tiedostokokoelmaan ajan mittaan tehdyt muutokset, jotta voit palauttaa tietyt versiot myöhemmin. Versionhallintajärjestelmä (tai lyhyesti VCS) on työkalu, joka tallentaa tiedostojärjestelmän muutokset.

Versionhallintajärjestelmiä on monia, mutta Git on tällä hetkellä suosituin ja eniten käytetty erityisesti lähdekoodin hallintaan. Versionhallintaa voidaan itse asiassa käyttää lähes kaikentyyppisille tiedostoille tietokoneella, ei vain lähdekoodille.

Versionhallintajärjestelmät/työkalut tarjoavat useita ominaisuuksia, joiden avulla yksittäiset henkilöt tai ihmisryhmät voivat:

  • luoda versioita projektista.
  • seurata muutoksia tarkasti ja ratkaista ristiriitoja.
  • yhdistä muutokset yhteiseen versioon.
  • peruuta ja kumoa muutokset valittuihin tiedostoihin tai koko projektiin.
  • käyttää projektin historiallisia versioita ja vertailla muutoksia ajan kuluessa.
  • katso, kuka viimeksi muokkasi jotain, joka saattaa aiheuttaa ongelman.
  • Luo projektista suojattu ulkopuolinen varmuuskopio.
  • käyttää useita koneita työskennelläksesi yhden projektin parissa ja paljon muuta.

Versionhallintajärjestelmän, kuten Git-projektissa on pääasiassa kolme osiota, nimittäin:

  • arkisto: tietokanta projektitiedostojesi tilan tai muutosten tallentamiseen. Se sisältää kaikki uutta projektia varten tarvittavat Git-metatiedot ja -objektit. Huomaa, että tämä yleensä kopioidaan, kun arkiston kloonataan toisesta verkossa tai etäpalvelimessa olevasta tietokoneesta.
  • työhakemisto tai -alue: tallentaa kopion projektitiedostoista, joita voit käsitellä (tehdä lisäyksiä, poistoja ja muita muokkaustoimia).
  • välitysalue: Git-hakemistossa oleva tiedosto (tunnetaan nimellä hakemisto Gitissä), joka tallentaa tiedot muutoksista, jotka olet valmis vahvistamaan (tallentamaan tiedoston tai tiedostojoukon tila) arkistoon.

VCS:itä on kahta päätyyppiä, ja suurin ero on arkistojen määrä:

  • Centralized Version Control Systems (CVCS): tässä jokainen projektiryhmän jäsen saa oman paikallisen työhakemistonsa, mutta he tekevät muutokset vain yhteen keskustietovarastoon.
  • DVCS:t (Distributed Version Control Systems): tässä jokainen projektitiimin jäsen saa oman paikallisen työhakemistonsa ja Git-hakemistonsa, joissa he voivat tehdä sitoumuksia. Kun henkilö on tehnyt sitoumuksen paikallisesti, muut tiimin jäsenet eivät pääse käsiksi muutoksiin ennen kuin hän työntää ne keskustietovarastoon. Git on esimerkki DVCS:stä.

Lisäksi Git-arkisto voi olla paljas (arkisto, jolla ei ole toimivaa hakemistoa) tai ei-paljas (sellainen, jossa on toimiva hakemisto). Jaettujen (tai julkisten tai keskitettyjen) tietovarastojen tulee aina olla paljaita – kaikki Github-tietovarastot ovat paljaita.

Opi versionhallinta Gitin avulla

Git on ilmainen ja avoimen lähdekoodin nopea, tehokas, hajautettu, helppokäyttöinen ja suosittu versionhallintajärjestelmä, joka on erittäin tehokas suurissa projekteissa ja jolla on merkittävä haarautumis- ja yhdistämisjärjestelmä. Se on suunniteltu käsittelemään tietoja enemmän kuin sarjan tilannekuvia minitiedostojärjestelmästä, joka on tallennettu Git-hakemistoon.

Gitin-työnkulku on hyvin yksinkertainen: teet muutoksia työhakemistossasi oleviin tiedostoihin ja lisäät sitten valikoivasti vain muuttuneet tiedostot esitysalueelle osaksi seuraavaa vahvistusta.

Kun olet valmis, teet vahvistuksen, joka ottaa tiedostot esitysalueelta ja tallentaa tilannevedoksen pysyvästi Git-hakemistoon.

Asenna Git Linuxiin käyttämällä valitsemallesi jakelulle sopivaa komentoa:

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

Gitin asentamisen jälkeen on suositeltavaa, että kerrot Gitille kuka olet antamalla koko nimesi ja sähköpostiosoitteesi seuraavasti:

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

Tarkista Git-asetukset käyttämällä seuraavaa komentoa.

git config --list 

Luo uuden Git-arkiston

Jaetut tietovarastot tai keskitetyt työnkulut ovat hyvin yleisiä, ja sen esittelemme tässä. Oletamme esimerkiksi, että sinulle on annettu tehtäväksi perustaa etäkeskusvarasto organisaatiosi eri osastojen järjestelmänvalvojille/ohjelmoijille, jotta voit työskennellä bashscripts-nimisen projektin parissa, joka tallennetaan kohtaan /projects/scritpts/ palvelimella.

SSH etäpalvelimeen ja luo tarvittava hakemisto, luo ryhmä nimeltä sysadmins (lisää kaikki projektiryhmän jäsenet tähän ryhmään, esim. käyttäjän admin) ja aseta tarvittavat käyttöoikeudet tämä hakemisto.

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

Alusta sitten paljas projektivarasto.

git init --bare /projects/scripts/bashscripts

Tässä vaiheessa olet onnistuneesti alustanut paljaan Git-hakemiston, joka on projektin keskusvarasto. Yritä tehdä luettelo hakemistosta nähdäksesi kaikki siellä olevat tiedostot ja hakemistot:

ls -la /projects/scripts/bashscripts/

Kloonaa Git-arkisto

Kloonaa nyt jaettu Git-etävarasto paikalliseen tietokoneellesi SSH:n kautta (voit myös kloonata HTTP/HTTPS:n kautta, jos verkkopalvelin on asennettu ja määritetty oikein, kuten tapaus useimmissa julkisissa Githubin arkistoissa), esimerkiksi:

git clone ssh://admin@remote_server_ip:/projects/scripts/bashscripts 

Jos haluat kloonata sen tiettyyn hakemistoon (~/bin/bashscripts), käytä alla olevaa komentoa.

git clone ssh://admin@remote_server_ip:/projects/scripts/bashscripts ~/bin/bashscripts

Sinulla on nyt projektin paikallinen esiintymä ei-paljaassa arkistossa (jossa on työhakemisto), voit luoda projektin alkuperäisen rakenteen (eli lisätä README.md-tiedoston tiedosto, alihakemistot eri skriptien luokille, esim. recon tiedusteluohjelmien tallentamiseen, sysadmin ro tallentaa sysadmin-skriptit jne.):

cd ~/bin/bashscripts/
ls -la

Tarkista Git-tilan yhteenveto

Voit näyttää työhakemistosi tilan käyttämällä status-komentoa, joka näyttää tekemäsi muutokset. mitä tiedostoja Git ei seuraa; ne muutokset, jotka on lavastettu ja niin edelleen.

git status 

Git Stage Muutokset ja sitoutuminen

Tee seuraavaksi kaikki muutokset käyttämällä add-komentoa -A-kytkimellä ja suorita ensimmäinen vahvistus. Lippu -a käskee komennon asettamaan automaattisesti lavalle muokatut tiedostot, ja -m-merkkiä käytetään vahvistamaan vahvistusviestin:

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

Julkaise paikalliset sitoumukset Remote Git -tietovarastoon

Projektiryhmän johtajana, nyt kun olet luonut projektirakenteen, voit julkaista muutokset keskustietovarastoon push-komennolla kuvan mukaisesti.

git push origin master

Tällä hetkellä paikallisen git-arkistosi pitäisi olla ajan tasalla projektin keskustietovaraston (alkuperä) kanssa. Voit varmistaa tämän suorittamalla status-komennon vielä kerran.

git status

Voit myös kertoa työtovereillesi, että he aloittavat työskentelyn projektin parissa kloonaamalla arkiston heidän paikallisille tietokoneilleen.

Luo uusi Git-haara

Haaroittamisen avulla voit työskennellä projektisi ominaisuuden parissa tai korjata ongelmia nopeasti ilman, että kosketat koodikantaa (päähaara). Voit luoda uuden haaran ja vaihtaa siihen käyttämällä haara- ja checkout-komentoja.

git branch latest
git checkout latest

Vaihtoehtoisesti voit luoda uuden haaran ja siirtyä siihen yhdessä vaiheessa checkout-komennolla ja -b-lipulla.

git checkout -b latest

Voit myös luoda uuden haaran esimerkiksi toisen haaran perusteella.

git checkout -b latest master

Tarkistaaksesi, mihin haaraan olet, käytä haarakomentoa (tähtimerkki ilmaisee aktiivisen haaran):

git branch

Kun olet luonut ja vaihtanut uuteen haaraan, tee siihen joitain muutoksia ja tee joitain sitoumuksia.

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

Yhdistä muutokset haarasta toiseen

Jos haluat yhdistää haaratestin muutokset päähaaraan, vaihda päähaaraan ja tee yhdistäminen.

git checkout master 
git merge test 

Jos et enää tarvitse tiettyä haaraa, voit poistaa sen -d-kytkimellä.

git branch -d test

Lataa muutokset Remote Central Repositorysta

Olettaen, että tiimisi jäsenet ovat työstäneet muutoksia keskitettyyn projektivarastoon, voit ladata muutokset paikalliseen projektiin käyttämällä pull-komentoa.

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

Tarkista Git-varasto ja suorita vertailuja

Tässä viimeisessä osiossa käsittelemme joitain hyödyllisiä Git-ominaisuuksia, jotka pitävät kirjaa kaikista arkistossasi tapahtuneista toiminnoista, jolloin voit tarkastella projektihistoriaa.

Ensimmäinen ominaisuus on Git-loki, joka näyttää toimituslokit:

git log

Toinen tärkeä ominaisuus on show-komento, joka näyttää erityyppisiä objekteja (kuten sitoumuksia, tunnisteita, puita jne.):

git show

Kolmas tärkeä ominaisuus, joka sinun on tiedettävä, on diff-komento, jota käytetään vertailemaan tai näyttämään eroja haarojen välillä, näyttämään muutokset työhakemiston ja indeksin välillä, muutokset kahden levyllä olevan tiedoston välillä ja paljon muuta.

Jos haluat esimerkiksi näyttää eron pää- ja viimeisimmän haaran välillä, voit suorittaa seuraavan komennon.

git diff master latest

Lue myös: 10 parasta Git-vaihtoehtoa avoimen lähdekoodin projektien isännöintiin

Yhteenveto

Gitin avulla ihmiset voivat työskennellä yhdessä käyttämällä samoja tiedostoja ja samalla tallentaa tiedostoihin ajan mittaan muutoksia, jotta he voivat muistaa tietyt versiot myöhemmin.

Tällä tavalla voit käyttää Gitiä lähdekoodin, asetustiedostojen tai minkä tahansa tietokoneelle tallennettujen tiedostojen hallintaan. Saatat haluta etsiä lisädokumentaatiota Git Online -dokumentaatiosta.