GIT

Από Evresiswiki
Αναθεώρηση ως προς 16:31, 15 Απριλίου 2017 από τον Ewikiadmin (Συζήτηση | συνεισφορές)
(διαφορά) ← Παλαιότερη αναθεώρηση | Τελευταία αναθεώρηση (διαφορά) | Νεότερη αναθεώρηση → (διαφορά)
Μετάβαση σε: πλοήγηση, αναζήτηση

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

server#  cd /var/lib/gitolite
server#  mkdir -p repositories/estia.git
server#  cd repositories
server#  git --bare init estia.git
server#  cd estia.git/
server#  ln -s /usr/share/gitolite/hooks/common/update update
server#  ln -s /usr/share/gitolite/hooks/common/gitolite-hooked .
server#  cd ..
server#  chown -R gitolite:gitolite estia.git
server#  chmod 755 estia.git/hooks/update
server#  vi .gitolite/conf/gitolite.conf

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

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

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

 'estia' => {
   'R' => {
     'developer1' => 1
   },
   'W' => {
     'developer1' => 1
   },
   'R' => {
     'developer2' => 1
   },
   'W' => {
     'developer2' => 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

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