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
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.