Bazele
Un depozit git nu este mult mai mult decât o cutie. Puteți introduce codul în el (commit), puteți trimite o copie a conținutului într-o altă casetă (la distanță) (push) și puteți prelua conținutul dintr-o altă casetă în propria casetă (pull).
Dacă prietenul tău și-a împins conținutul într-o casetă de pe internet (cum ar fi github) și nu poți accesa acea locație de la gazda ta, această casetă nu este utilă în cazul tău.
Aveți câteva opțiuni:
- Trageți direct din depozitul prietenilor dvs. („Cutia” pe care o împingea în github.)
- Cereți-i să-și împingă direct depozitul către gazda dvs.
- Configurați un depozit undeva în rețeaua dvs. (În acest caz, el poate împinge în acel depozit și apoi puteți trage din el.)
Soluție folosind un depozit intermediar
Pe măsură ce utilizați ubuntu care vine deja cu ssh, poate cea mai ușoară soluție este să configurați un nou utilizator pe caseta dvs. și să creați un depozit simplu acolo. Apoi aveți un loc de unde să trageți de la un prieten pe care îl poate folosi acel utilizator pentru a trimite către acel depozit.
Puteți face asta astfel:
sudo useradd -m gituser # create user
sudo -iu gituser git init --bare reponame # create repository
sudo passwd gituser # set password for user
Ulterior, prietenul tău poate apăsa la el folosind git push gituser@yourhost/reponame
. Și puteți obține conținutul împins cu git clone gituser@yourhost/reponame
.
Soluție folosind git-daemon
O altă modalitate este să utilizați git-daemon pe prietenii tăi găzduiesc pentru a-și servi depozitul. În acest caz, puteți trage direct de la gazda lui. Pe windows tip:
git daemon --base-path=PATH --export-all
unde "PATH" este directorul local care conține depozitul. Pe ubuntu puteți accesa acel depozit folosind
git clone git://friendshost/reponame
unde „friendshost” este numele gazdei prietenilor tăi, iar „reponame” este numele directorului care conține depozitul. De exemplu, dacă depozitul este localizat la „C:\some\dir\repo”, atunci „C:\some\dir” este PATH și „repo” este numele de depozit.)
person
michas
schedule
02.10.2014
git clone
peste ssh sau rsync și să omiteți toate acestea. - person Hasturkun   schedule 14.10.2014