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


Versionhallinta (versionhallinta tai lähdekontrolli) on tapa tallentaa tiedostoon tai tiedostokokoelmaan muutoksia ajan myötä, jotta voit hakea tiettyjä versioita myöhemmin. Versiohallintajärjestelmä (tai lyhyesti VCS) on työkalu, joka tallentaa muutokset tiedostojärjestelmässä oleviin tiedostoihin.

Siellä on monia versionhallintajärjestelmiä, mutta Git on tällä hetkellä suosituin ja usein käytetty, erityisesti lähdekoodien hallintaan. Versiohallintaa voidaan itse asiassa käyttää melkein minkä tahansa tyyppisiin tiedostoihin tietokoneessa, ei vain lähdekoodiin.

Versiohallintajärjestelmät/-työkalut tarjoavat useita ominaisuuksia, joiden avulla ihmiset tai ihmisryhmä voivat:

  • luoda versioita projektista.
  • seuraa muutoksia tarkasti ja ratkaise ristiriidat.
  • yhdistää muutokset yhteiseksi versioksi.
  • palauta ja peruuta valitun tiedoston tai koko projektin muutokset.
  • voit käyttää projektin historiallisia versioita verrataksesi muutoksia ajan myötä.
  • katso, kuka muokkasi viimeksi jotain, joka saattaa aiheuttaa ongelman.
  • luo turvallinen varmuuskopio projektin ulkopuolelta.
  • käytä useita koneita työskennellessäsi yhdessä projektissa ja paljon muuta.

Gitin kaltaisen versionhallintajärjestelmän mukaisessa projektissa on pääosin kolme osaa:

  • arkisto: tietokanta projektitiedostojen tilan tai muutosten tallentamiseen. Se sisältää kaikki tarvittavat Git-metatiedot ja objektit uudelle projektille. Huomaa, että tämä kopioidaan yleensä, kun kloonaat arkiston toisesta tietokoneesta verkossa tai etäpalvelimessa.
  • työhakemisto tai alue: tallentaa kopion projektitiedostoista, joita voit työskennellä (tehdä lisäyksiä, poistoja ja muita muokkaustoimintoja).
  • välitysalue: tiedosto (joka tunnetaan nimellä Git-hakemisto) Git-hakemistossa ja joka tallentaa tietoja muutoksista, jotka olet valmis sitoutumaan (tallentamaan tiedoston tai tiedostojoukon) arkistoon.

VCS: tä on kahta päätyyppiä, ja suurin ero on arkistojen lukumäärä:

  • Keskitetyt versionhallintajärjestelmät (CVCS): täältä jokainen projektitiimin jäsen saa oman paikallisen työhakemistonsa, mutta tekee muutoksia vain yhteen keskitetystietovarastoon.
  • Hajautetut versionhallintajärjestelmät (DVCS): Tämän nojalla kukin projektiryhmän jäsen saa oman paikallisen työhakemistonsa ja Git-hakemiston, jossa he voivat tehdä sitoumuksia. Kun henkilö on sitoutunut paikallisesti, muut tiimin jäsenet eivät pääse 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 toimivan hakemistoa) tai ei-paljas (sellainen, jossa on toimiva hakemisto). Jaettujen (tai julkisten tai keskitettyjen) arkistojen tulisi aina olla paljaita - kaikki Github-arkistot 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 suurten projektien kanssa ja jolla on huomattava haarautumis- ja sulautumisjärjestelmä. Se on suunniteltu käsittelemään tietoja enemmän kuin sarja pienoiskuvat minitiedostojärjestelmästä, joka on tallennettu Git-hakemistoon.

Gitin alla oleva työnkulku on hyvin yksinkertainen: teet muutoksia työhakemistosi tiedostoihin ja lisäät sitten valikoivasti vain muuttuneet tiedostot lavastusalueelle osaksi seuraavaa sitoutumistasi.

Kun olet valmis, teet sitoutumisen, joka vie tiedostot lavastusalueelta ja tallentaa kyseisen tilannekuvan pysyvästi Git-hakemistoon.

Asenna Git Linuxiin käyttämällä haluamaasi jakeluun sopivaa komentoa:

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

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

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

Voit tarkistaa Git-asetuksesi seuraavalla komennolla.

$ git config --list 

Luo uuden Git-arkiston

Jaetut arkistot tai keskitetyt työnkulut ovat hyvin yleisiä, ja tämän me osoitamme täällä. Oletetaan esimerkiksi, että olet saanut tehtäväksi perustaa etäkeskustietovarasto järjestelmänvalvojille/ohjelmoijille organisaatiosi eri osastoilta ja työskennellä bashscripts-nimisen projektin parissa, joka tallennetaan kansioon/projektit/scritpts/palvelimelle.

SSH etäpalvelimeen ja luo tarvittava hakemisto, luo ryhmä nimeltä sysadmins (lisää kaikki projektitiimin jäsenet tähän ryhmään, esim. Käyttäjän järjestelmänvalvoja) ja aseta tarvittavat oikeudet tähän hakemistoon.

# 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 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ätietovarasto paikalliseen tietokoneeseesi SSH: n kautta (voit kloonata myös HTTP/HTTPS: n kautta, jos Web-palvelin on asennettu ja määritetty asianmukaisesti, kuten useimmissa julkisissa Github-arkistoissa), esimerkiksi:

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

Kloonaa se tiettyyn hakemistoon (~/bin/bashscripts) käyttämällä alla olevaa komentoa.

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

Sinulla on nyt projektin paikallinen esiintymä ei-paljaassa arkistossa (jossa on toimiva hakemisto), voit luoda projektin alkuperäisen rakenteen (eli lisätä README.md-tiedoston, alihakemistot eri komentosarjaryhmille, esim. tallentaa tiedusteluohjelmia, sysadmin ro tallentaa sysadmin-komentosarjoja jne.):

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

Tarkista Git-tilan yhteenveto

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

$ git status 

Git-vaihemuutokset ja sitoutuminen

Suorita sitten kaikki muutokset lisäyskomennolla -A -kytkimellä ja tee ensimmäinen sitoutuminen. -a -lippu käskee komennon muokkaamaan automaattisesti muokatut tiedostot, ja -m -tunnistetta käytetään määrittämään sitoutumisviesti:

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

Julkaise paikalliset sitoumukset Remote Git -tietovarastoon

Projektiryhmän johtajana voit nyt, kun olet luonut projektirakenteen, julkaista muutokset keskustietovarastoon käyttämällä push-komentoa kuvan mukaisesti.

$ git push origin master

Tällä hetkellä paikallisen git-tietovarastosi tulisi olla ajan tasalla projektin keskitetyn arkiston kanssa (alkuperä), voit vahvistaa tämän suorittamalla status-komennon vielä kerran.

$ git status

Voit myös ilmoittaa kollegoillesi aloittamaan projektin kloonaamalla arkiston paikallisiin tietokoneisiinsa.

Luo uusi Git-haara

Haarautumisen avulla voit työskennellä projektisi ominaisuuden parissa tai korjata ongelmat nopeasti koskematta koodipohjaa (päähaara). Luo uusi haara ja vaihda sitten siihen haara- ja maksukomennot.

$ git branch latest
$ git checkout latest

Vaihtoehtoisesti voit luoda uuden haaran ja vaihtaa siihen yhdessä vaiheessa käyttämällä kassakomentoa -b -lipulla.

$ git checkout -b latest

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

$ git checkout -b latest master

Käytä haarakomentoa tarkistaaksesi, missä haarassa olet (tähtimerkki osoittaa aktiivisen haaran):

$ git branch

Kun olet luonut uuden sivukonttorin ja siirtynyt siihen, tee siihen 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 sivuliikkeestä toiseen

Jos haluat yhdistää haarakokeen 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 etäkeskustietovarastosta

Olettaen, että tiimisi jäsenet ovat siirtäneet muutoksia projektien keskitetystietovarastoon, voit ladata muutokset paikalliseen projektin esiintymään vetokomennolla.

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

Tarkasta Git-arkisto ja suorita vertailut

Tässä viimeisessä osassa käsitellään joitain hyödyllisiä Git-ominaisuuksia, jotka seuraavat kaikkia arkistossa tapahtuneita toimintoja, jolloin voit tarkastella projektihistoriaa.

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

$ git log

Toinen tärkeä ominaisuus on show-komento, joka näyttää erityyppisiä objekteja (kuten komennot, tunnisteet, puut jne.):

$ git show

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

Voit esimerkiksi suorittaa pääkoneen ja viimeisimmän haaran välisen eron suorittamalla seuraavan komennon.

$ git diff master latest

Git antaa ihmisryhmälle mahdollisuuden työskennellä yhdessä käyttämällä samoja tiedostoja samalla kun tallennat tiedostoihin muutoksia ajan mittaan, jotta he voivat hakea tiettyjä versioita myöhemmin.

Tällä tavalla voit käyttää Git-sovellusta lähdekoodin, määritystiedostojen tai minkä tahansa tietokoneeseen tallennetun tiedoston hallintaan. Saatat haluta katsoa lisätietoja Git Online -oppaasta.