GIT

Από Evresiswiki
Μετάβαση σε: πλοήγηση, αναζήτηση

Προκειμένου να δημιουργήσουμε νέο αποθετήριο π.χ. με όνομα estia με το πακέτο gitolite για πρόσβαση των προγραμματιστών με ονόματα developer1 και developer2 εκτελούμε τις παρακάτω εντολές στο διακομιστή (git hub)

1134  cd /var/lib/gitolite
1135  mkdir -p repositories/estia.git
1136  cd repositories
1138  git --bare init estia.git
1147  cd estia.git/
1173  ln -s /usr/share/gitolite/hooks/common/update update
1178  ln -s /usr/share/gitolite/hooks/common/gitolite-hooked .
1180  cd ..
1181  chown -R gitolite:gitolite estia.git
1183  chmod 755 estia.git/hooks/update
1200  vi .gitolite/conf/gitolite.conf

προσθέτουυμε στο τέλος του gitolite.conf το παρακάτω

       repo estia
               RW+     = developer1 developer2
1209  vi gitolite.conf-compiled.pm

προσθέτουυμε στο τέλος του gitolite.conf-compiled.pm το παρακάτω. Προσοχή στο σημείο που περιέχει τη δήλωση refs/.* για κάθε χρήστη πρέπει να υπάρχει μοναδικός αύξοντας αριθμός π.χ. για το επόμενο repo 995. ,

 'estia' => {
   'R' => {
     'developer1' => 1
   },
   'W' => {
     'developer1' => 1
   },
   'developer1' => [
     [
       995,
       'refs/.*',
       'RW+'
     ]
   ]
   'developer2' => [
     [
       996,
       'refs/.*',
       'RW+'
     ]
   ]
 }

μετά πηγαίνουμε στον client δηλαδή τον προσωπικό μας υπολογιστή. Τρέχουμε το git client δημιουργούμε ένα φάκελο με το όνομα του νέου project μας π.χ.estia πληκτρολογώντας

$ mkdir estia
$ git clone ssh://gitolite@{Server FQDN or IP address}:{TCP/IP port No}/estia estia

ΠΡΟΣΟΧΗ! Στο γονικό φάκελο πρέπει να υπάρχει ένας κρυφός φάκελος με όνομα .ssh που περιέχει π.χ. το αρχείο id_rsa που περιέχει το ιδιωτικό κλειδί του χρήστη και το δημόσιο κλειδί π.χ. στο αρχείο με όνομα id_rsa.pub που από πριν δημιουργήσαμε π.χ. με το PuTTYgen. Tο βασικό αρχείο είναι το known_hosts που εκεί μέσα δηλώνεται ο git server μαζί με το public key του χρήστη ssh που θα έχει πρόσβαση στο αποθετήριο. Η ίδια δήλωση υπάρχει στο authorized_keys που βρίσκεται στον αντίστοιχο φάκελο .ssh μέσα στο γονικό φάκελο του gitolite του server του git hub μόνο που αντί για τη διεύθυνση του server δηλώνουμε με κατάλληλη σύνταξη το όνομα χρήστη π.χ. developer1. Εκτελούμε τις παρακάτω εντολές π.χ. για να φορτώσουμε στο git hub τα source files του project μας

$ cd estia
$ git add *.pas
$ git add *.txt

κοκ για ότι φακέλους θέλουμε να παρακολουθεί το git. Και τέλος εκτελούμε

$ git commit -m -a "ESTIA GIT START"

άπαξ μόνο την πρώτη φορά

$ git push origin master

και βεβαιωνόμαστε ότι μπορούμε να διαβάσουμε το project εκτελώντας

$ git pull

Για να αποθηκεύσουμε τις αλλαγές που κάναμε στο project εκτελούμε κάθε φορά

$ git commit -m -a "ESTIA new routine added"
$ git push

Για να δούμε τις αλλαγές μας μπορουμε να εκτελέσουμε το παρακάτω

$ git gui

Στο μενού Αποθετήριο->Απεικόνιση Ιστορικού Όλων των Κλάδων