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.