Git paigaldamine: Difference between revisions
No edit summary |
No edit summary |
||
(12 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
== Sissejuhatus: == | |||
Git on hajutatud versioonihaldussüsteem, mis peab oluliseks versioonihalduse kiirust. Git sai alguse Linux tuuma arendusprotsessist. Tuuma lähtekoodi haldamiseks kasutati vahemikus 1999-2005 kinnise lähtekoodiga tarkvara BitKeeper, kuna tol hetkel puudus kiire hajutatud versioonihaldustarkvara. Vaba Tarkvara aktivistide sõnul oli lubamatu kasutada kinnise lähtekoodiga tarkvara Vaba Tarkvara arendamiseks ning peale pikka kogukonna survet töötas Linus Torvalds isiklikult välja sobiliku süsteemi. Hetkel hooldab projekti Junio Hamano. | Git on hajutatud versioonihaldussüsteem, mis peab oluliseks versioonihalduse kiirust. Git sai alguse Linux tuuma arendusprotsessist. Tuuma lähtekoodi haldamiseks kasutati vahemikus 1999-2005 kinnise lähtekoodiga tarkvara BitKeeper, kuna tol hetkel puudus kiire hajutatud versioonihaldustarkvara. Vaba Tarkvara aktivistide sõnul oli lubamatu kasutada kinnise lähtekoodiga tarkvara Vaba Tarkvara arendamiseks ning peale pikka kogukonna survet töötas Linus Torvalds isiklikult välja sobiliku süsteemi. Hetkel hooldab projekti Junio Hamano. | ||
Projekti nimeks sai Git, mis tuleb Briti slängist tähendades rumalat või ebameeldivat isikut - „Ma | Projekti nimeks sai Git, mis tuleb Briti slängist tähendades rumalat või ebameeldivat isikut - „Ma olen enesekeskne värdjas ning nimetan kõik projektid enda järgi, kõigepealt Linux, nüüd Git“, kommenteeris Linus nime. | ||
olen enesekeskne värdjas ning nimetan kõik projektid enda järgi, kõigepealt Linux, nüüd Git“, | Veebis on kõige populaarsemad Git repositooriumi portaalid GitHub ja Gitorious. GitHub lubab Vaba Tarkvara arendajatele 300MB ruumi ning Gitorious piiramatus koguses. Veebis võib lehitseda lähtekoodi ning koodimuudatusi. Gitorious'e puhul käib autentimine SSH võtmetega. | ||
kommenteeris Linus nime. | Git on C keeles kirjutatud hajutatud versoonihaldustarkvara olles kiire ning täites võimalikult palju funktsioone, mis on vajalikud avatud lähtekoodiga tarkvara arendamiseks – see tähendab tuhandete inimeste koostööks. | ||
Veebis on kõige populaarsemad Git repositooriumi portaalid GitHub ja Gitorious. GitHub lubab | |||
Vaba Tarkvara arendajatele 300MB ruumi ning Gitorious piiramatus koguses. Veebis võib lehitseda lähtekoodi ning koodimuudatusi. Gitorious'e puhul käib autentimine SSH võtmetega. | |||
Git on | |||
täites võimalikult palju funktsioone, mis on vajalikud avatud lähtekoodiga tarkvara arendamiseks – see tähendab tuhandete inimeste koostööks. | |||
Karakterisitkud: | Karakterisitkud: | ||
Mittelineaarse arenduse tugev support. | |||
Jaotatud arendus. | |||
Olemasolevate süsteemide/protokollidega kokkusobivus. | |||
Suurte projektide tõhus käsitlemine. | |||
Olemasolevate projektide krüptograafiline autentimine. | |||
Toolkit-baasil disain. | |||
Prahikoristus. | |||
Perioodiline pakendamine. | |||
=Artikli autor ja logi= | |||
==Artikli autor ja logi== | |||
'''Nimi:''' Reigo Savolainen<br /> | '''Nimi:''' Reigo Savolainen<br /> | ||
Line 47: | Line 43: | ||
---- | ---- | ||
== Git kliendi paigaldus: == | |||
Unixi-laadses süsteemis, saad laadida Git algkoodi näiteks selliselt lehelt nagu http://git-scm.com/download. Võib kasutada ka ühte nendest paljudest peegellehtedelt (mirror sites) (kernel.org mirrors.) | Unixi-laadses süsteemis, saad laadida Git algkoodi näiteks selliselt lehelt nagu http://git-scm.com/download. Võib kasutada ka ühte nendest paljudest peegellehtedelt (mirror sites) (kernel.org mirrors.) | ||
sudo apt-get build-dep git-core git-doc | sudo apt-get build-dep git-core git-doc | ||
Download the latest stable release of Git from its web site http://git-scm.com/ | Download the latest stable release of Git from its web site http://git-scm.com/ | ||
wget http://kernel.org/pub/software/scm/git/git-1.6.6.1.tar.bz2 | wget http://kernel.org/pub/software/scm/git/git-1.6.6.1.tar.bz2 | ||
Line 74: | Line 73: | ||
Git versiooni näeme: | Git versiooni näeme: | ||
git | git --version | ||
Juhul, kui on installitud Git eelnevalt ja välja on tulnud uuemad versioonid, siis Git uuendamiseks võib kasutada teda iseennast: | Juhul, kui on installitud Git eelnevalt ja välja on tulnud uuemad versioonid, siis Git uuendamiseks võib kasutada teda iseennast: | ||
Line 88: | Line 87: | ||
'''Git repositooriumi serveri paigaldus Ubuntu keskkonnas (kasutades Gitosist):''' | '''Git repositooriumi serveri paigaldus Ubuntu keskkonnas (kasutades Gitosist):''' | ||
Gitsosise installeerimine: | |||
Gitosis on pythonil baseeruv programm, mis oskab hallata git repositooriumeid. Kõigepealt veendume, kas python setup tool’s on paigaldatud. | Gitosis on pythonil baseeruv programm, mis oskab hallata git repositooriumeid. Kõigepealt veendume, kas python setup tool’s on paigaldatud. | ||
Line 148: | Line 148: | ||
commit -a -m "Added group test and test_project in group test." | commit -a -m "Added group test and test_project in group test." | ||
...siis Gitosis tekitab automaatselt uue repositooriumi. Viimane parameeter ’daemon’ näitab, et git-daemon võib vabalt kuvada käesolevat | ...siis Gitosis tekitab automaatselt uue repositooriumi. Viimane parameeter ’daemon’ näitab, et git-daemon võib vabalt kuvada käesolevat repositooriumit. Võib testida: | ||
sudo -u git git-daemon --base-path=/home/git/repositories/ --export-all | sudo -u git git-daemon --base-path=/home/git/repositories/ --export-all | ||
Line 167: | Line 167: | ||
git clone git://my-box/myrepo.git myrepo | git clone git://my-box/myrepo.git myrepo | ||
Nüüd peaksid saama teha tööd oma git serveris aadressil git://sinuserver/ | Nüüd peaksid saama teha tööd oma git serveris aadressil git://sinuserver/sinu_repositoorium.git | ||
---- | |||
== Lingid == | |||
http://book.git-scm.com/ | |||
http://git.wiki.kernel.org/index.php/GitLinks | |||
http://progit.org/book/ | |||
http://jonas.nitro.dk/git/quick-reference.html | |||
http://www.youtube.com/watch?v=4XpnKHJAok8 | |||
--[[User:Rsavolai|Rsavolai]] 13:20, 30 January 2010 (EET) | |||
[[Category:IT infrastruktuuri teenused]] | [[Category:IT infrastruktuuri teenused]] |
Latest revision as of 11:01, 31 January 2010
Sissejuhatus:
Git on hajutatud versioonihaldussüsteem, mis peab oluliseks versioonihalduse kiirust. Git sai alguse Linux tuuma arendusprotsessist. Tuuma lähtekoodi haldamiseks kasutati vahemikus 1999-2005 kinnise lähtekoodiga tarkvara BitKeeper, kuna tol hetkel puudus kiire hajutatud versioonihaldustarkvara. Vaba Tarkvara aktivistide sõnul oli lubamatu kasutada kinnise lähtekoodiga tarkvara Vaba Tarkvara arendamiseks ning peale pikka kogukonna survet töötas Linus Torvalds isiklikult välja sobiliku süsteemi. Hetkel hooldab projekti Junio Hamano. Projekti nimeks sai Git, mis tuleb Briti slängist tähendades rumalat või ebameeldivat isikut - „Ma olen enesekeskne värdjas ning nimetan kõik projektid enda järgi, kõigepealt Linux, nüüd Git“, kommenteeris Linus nime. Veebis on kõige populaarsemad Git repositooriumi portaalid GitHub ja Gitorious. GitHub lubab Vaba Tarkvara arendajatele 300MB ruumi ning Gitorious piiramatus koguses. Veebis võib lehitseda lähtekoodi ning koodimuudatusi. Gitorious'e puhul käib autentimine SSH võtmetega. Git on C keeles kirjutatud hajutatud versoonihaldustarkvara olles kiire ning täites võimalikult palju funktsioone, mis on vajalikud avatud lähtekoodiga tarkvara arendamiseks – see tähendab tuhandete inimeste koostööks.
Karakterisitkud:
Mittelineaarse arenduse tugev support. Jaotatud arendus. Olemasolevate süsteemide/protokollidega kokkusobivus. Suurte projektide tõhus käsitlemine. Olemasolevate projektide krüptograafiline autentimine. Toolkit-baasil disain. Prahikoristus. Perioodiline pakendamine.
Artikli autor ja logi
Nimi: Reigo Savolainen
Grupp: AK31
Viimati muudetud: 30.01.2010
Versioon Lisatud Kommentaar 0.1 26.01.2010 Artikli loomine 0.1.1 30.01.2010 Esialgne sisu sisestus 0.1.2 30.01.2010 Artikli täiendamine 0.1.3 30.01.2010 Valmis
Git kliendi paigaldus:
Unixi-laadses süsteemis, saad laadida Git algkoodi näiteks selliselt lehelt nagu http://git-scm.com/download. Võib kasutada ka ühte nendest paljudest peegellehtedelt (mirror sites) (kernel.org mirrors.)
sudo apt-get build-dep git-core git-doc Download the latest stable release of Git from its web site http://git-scm.com/ wget http://kernel.org/pub/software/scm/git/git-1.6.6.1.tar.bz2 Unpack the downloaded archive file. tar xjf git-1.6.6.1.tar.bz2 Go into the unpacked folder. cd git-1.6.6.1/ ./configure make prefix=/usr/local all doc sudo make install install-doc Remove the unpacked folder.
Loomulikult on ka lihtsam tee, installides vajalikud paketid paketihalduriga.
apt-get install git-core (Debian based) yum install git-core (RedHat)
Kolmanda variandina võib antud .deb või .rpm paketid otse tõmmata aadressidelt:
http://www.backports.org/debian/pool/main/g/git-core/ http://kernel.org/pub/software/scm/git/RPMS/
Git versiooni näeme:
git --version
Juhul, kui on installitud Git eelnevalt ja välja on tulnud uuemad versioonid, siis Git uuendamiseks võib kasutada teda iseennast:
git clone git://git.kernel.org/pub/scm/git/git.git
Kui tekivad probleemid ühenduse saamisel (Git kasutab porti 9418), võib proovida ühendada repositooriumiga üle HTTP protokolli (see viis on tunduvalt aeglasem, kuid töötab isegi läbi tulemüüri):
git clone http://www.kernel.org/pub/scm/git/git.git
Git repositooriumi serveri paigaldus Ubuntu keskkonnas (kasutades Gitosist):
Gitsosise installeerimine:
Gitosis on pythonil baseeruv programm, mis oskab hallata git repositooriumeid. Kõigepealt veendume, kas python setup tool’s on paigaldatud.
sudo apt-get install python-setuptools
Nüüd sikutame gitosise, kloonides ta originaalpaigast uude töökohta (../src). Peale seda installeerime.
cd ~ && mkdir src && cd src git clone git://eagain.net/gitosis.git cd gitosis python setup.py install
Järgmiseks tekitame git kasutaja, kes saab manageerida repositooriume.
sudo adduser \ --system \ --shell /bin/sh \ --gecos 'git version control' \ --group \ --disabled-password \ --home /home/git \ git
Kui kõik hästi läheb siis on tulemus midagi sarnast:
Adding system user `git'... Adding new group `git' (211). Adding new user `git' (211) with group `git'. Creating home directory `/home/git'.
Jätkamiseks on meil vaja avalikku SSH võtit.
ssh-keygen -t rsa
Avalik võti peab olema $HOME/.ssh/id_rsa.pub. Kopeeri see serverisse, näiteks SCP-ga, vms, (soovitavalt näiteks kataloogi /tmp, kuna sellisel juhul ei teki õiguste probleeme), kus jookseb Gitosis, ning lisa see authorized keys listi.
sudo -H -u git gitosis-init < /tmp/id_rsa.pub
Õnnestumise korral annab sellise teate:
Initialized empty Git repository in ./ Initialized empty Git repository in ./
Järgnevalt kontrollime konfiguratsiooni ja muudame seda pisut:
git clone git@YOUR_SERVER_HOSTNAME:gitosis-admin.git cd gitosis-admin sudoedit gitosis.conf
Võib lisada vabalt valitud gruppe, kes saavad lugeda/kirjutada repositooriumis. Praegusel juhul, kirjeldame uue projekti, ning anname kasutajale selles grupis õigused.
[group test] members = user@email.com writeable = test_project daemon = yes
Kui fail on salvestatud ja repositooriumiga ühendatud, siis...
commit -a -m "Added group test and test_project in group test."
...siis Gitosis tekitab automaatselt uue repositooriumi. Viimane parameeter ’daemon’ näitab, et git-daemon võib vabalt kuvada käesolevat repositooriumit. Võib testida:
sudo -u git git-daemon --base-path=/home/git/repositories/ --export-all
Nüüd peaks sul olema võimalik ligi pääseda oma lokaalsest masinast, näiteks kloonides projekti.
Git-daemoni konfigureerimine Ubuntus
sudo apt-get install git-daemon-run sudo runsvdir /etc/service & sudo vi /etc/sv/git-daemon/run -> changed the exec line to look like this: -> exec git-daemon --verbose --base-path=/var/git sudo /etc/init.d/git-daemon-run start touch /var/git/myrepo.git/git-daemon-export-ok git clone git://my-box/myrepo.git myrepo
Nüüd peaksid saama teha tööd oma git serveris aadressil git://sinuserver/sinu_repositoorium.git
Lingid
http://book.git-scm.com/ http://git.wiki.kernel.org/index.php/GitLinks http://progit.org/book/ http://jonas.nitro.dk/git/quick-reference.html http://www.youtube.com/watch?v=4XpnKHJAok8
--Rsavolai 13:20, 30 January 2010 (EET)