Kako instalirati i podesiti git
Potrebni paketi
Konfiguracija
Prvo je potrebno srediti ssh ključ. Ako već imate svoj ssh ključ koristite njega u protivnom, sledeća komanda će izgenerisati ključ:
# ssh-keygen -t dsa
Novi ključ će se nalaziti u ~/.ssh/id_dsa.pub. Nakon ovoga inicijalizujte gitosis repozitorijum kao git korisnik:
# cp ~/.ssh/id_dsa.pub ~git # su - git # gitosis-init <id_dsa.pub # logout
Pored ovoga, potrebno je promeniti lozinku za git nalog:
# passwd git
Ovime ste završili podešavanje osnovnih stvari.
Dodavanje repozitorijuma
Jedan repozitorijum ste već napravili, a to je gitosis-admin. Pokrenite sledeću komandu da biste ga skinuli:
# git clone git@localhost:gitosis-admin.git
Nakon ovoga ćete dobiti direktorijum gitosis-admin. Uđite u njega i izmenite fajl gitosis.conf tako što ćete dodati:
[group myteam] members = <korisnik ključa> writable = free_monkey
Ovime ste dodali repozitorijum "free_monkey". Da biste znali ko je <korisnik ključa>, pogledajte u direktorijum keydir. Trebali biste da imate samo jedan fajl sa ekstenzijom .pub. Jedan primer ovoga je meka@host.pub. Pri tome je <korisnik ključa> "meka@host". Izmene je potrebno poslati i na server:
# git commit -a -m "Dozvoli korisniku meka pravo pisanja u repozitorijum free_monkey" # git push
Ostalo je još samo napraviti stvaran repozitorijum. Izađite iz direktorijuma gitosis-admin da biste napravili repozitorijum free_monkey:
# cd .. # mkdir free_monkey # cd free_monkey # git init # git remote add origin git@localhost:free_monkey.git # echo "samo testiram" >test.txt # git commit -a -m "Samo testiram" # git push origin master:refs/heads/master
Ovim ste dodali još jedan repozitorijum u git.
Dodavanje novog korisnika
Obično, novi korisnici će Vam poslati svoj javni ključ (opisano gore) sa ekstenzijom .pub. Pod pretpostavkom da se još nalazite u direktorijumu free_monkey i da su ključevi mika.pub zika.pub, treba da uradite sledeće da biste dozvolili pomenutim korisnicima pravo pristupa free_monkey repozitorijumu:
# cd ../gitosis-admin # cp /putanja/do/mika.pub keydir # cp /putanja/do/zika.pub keydir # git add keydir/mika.pub keydir/zika.pub
Takođe, potrebno je izmeniti fajl gitosis.conf (linije koje počinju sa "-" treba izbaciti, a one koje počinju sa "+" ubaciti):
[group myteam] - members = <korisnik ključa> + members = <korisnik ključa> mika zika writable = free_monkey
Kao i ranije, morate sami otkriti ko je <korisnik ključa>, a onda izmene treba poslati na server:
# git commit -a -m "Data prava pristupa korisnicima mika i zika na repozitorijumu free_monkey" # git push
Objavljivanje repozitorijuma
Da biste omogućili svetu da skida Vaše repozitorijume, u /etc/conf.d/git-daemon izmeniti sledeće linije:
GITDAEMON_OPTS="--syslog --base-path=/var/spool/gitosis/repositories" GIT_USER="git" GIT_GROUP="git"
Pokrenite git i ubacite ga u default runlevel:
# /etc/init.d/git-daemon start # rc-update add git-daemon default
Da biste stvarno objavili repozitorijum, git ima zgodan način administracije kroz gitosis-admin repozitorijum. Ono što treba da uradite je da izmenite gitosis.conf dodajući sledeće linije u odgovarajuće sekcije:
[gitosis] daemon = no [repo free_monkey] daemon = yes
Ovime ste rekli da se podrazumeva da repozitorijum nije objavljen ukoliko ne kažete drugačije (kao za repozitorijum free_monkey). Pošaljite izmene na server sledećim komandama:
# git commit -a -m "Objavljen repozitorijum free_monkey" # git push
Nakon toga biste trebali biti u mogućnosti da skinete repozitorijum koristeći git protokol:
# git clone git://localhost/free_monkey
Napomena: Kao ime servera je korišćen "localhost", što predstavlja mašinu za kojom sedite. Zamenite to imenom servera ako radite na preko mreže.
Document Actions