Διαφορά μεταξύ των αναθεωρήσεων του "GIT"

Από Evresiswiki
Μετάβαση σε: πλοήγηση, αναζήτηση
(Διαδικασία δημιουργίας νέου αποθετηρίου π.χ. για ένα software project και βασικές λειτουργίες με βάση το πακέτο gitolite.)
 
 
(8 ενδιάμεσες αναθεωρήσεις από τον ίδιο χρήστη δεν εμφανίζεται)
Γραμμή 1: Γραμμή 1:
Προκειμένου να δημιουργήσουμε νέο αποθετήριο με το πακέτο gitolite εκτελούμε
+
Προκειμένου να δημιουργήσουμε νέο αποθετήριο π.χ. με όνομα estia με το πακέτο gitolite  
τις παρακάτω εντολές στο διακομιστή (git hub)
+
για πρόσβαση των προγραμματιστών με ονόματα developer1 και developer2 εκτελούμε τις
  1134 cd /var/lib/gitolite
+
παρακάτω εντολές στο διακομιστή (git hub)
  1135 mkdir -p repositories/estia.git
+
  server# cd /var/lib/gitolite
  1136 cd repositories
+
  server# mkdir -p repositories/estia.git
  1138 git --bare init estia.git
+
  server# cd repositories
  1147 cd estia.git/
+
  server# git --bare init estia.git
  1173 ln -s /usr/share/gitolite/hooks/common/update update
+
  server# cd estia.git/
  1178 ln -s /usr/share/gitolite/hooks/common/gitolite-hooked .
+
  server# ln -s /usr/share/gitolite/hooks/common/update update
  1180 cd ..
+
  server# ln -s /usr/share/gitolite/hooks/common/gitolite-hooked .
  1181 chown -R gitolite:gitolite estia.git
+
  server# cd ..
  1183 chmod 755 estia.git/hooks/update
+
  server# chown -R gitolite:gitolite estia.git
  1200 vi .gitolite/conf/gitolite.conf
+
  server# chmod 755 estia.git/hooks/update
 +
  server# vi .gitolite/conf/gitolite.conf
 
προσθέτουυμε στο τέλος του gitolite.conf το παρακάτω
 
προσθέτουυμε στο τέλος του gitolite.conf το παρακάτω
 
         repo estia
 
         repo estia
                 RW+    = filelis filelis_home
+
                 RW+    = developer1 developer2
  1209 vi gitolite.conf-compiled.pm
+
  server# vi gitolite.conf-compiled.pm
 
προσθέτουυμε στο τέλος του gitolite.conf-compiled.pm το παρακάτω. Προσοχή
 
προσθέτουυμε στο τέλος του gitolite.conf-compiled.pm το παρακάτω. Προσοχή
 
στο σημείο που περιέχει τη δήλωση refs/.* για κάθε χρήστη πρέπει να υπάρχει
 
στο σημείο που περιέχει τη δήλωση refs/.* για κάθε χρήστη πρέπει να υπάρχει
Γραμμή 22: Γραμμή 23:
 
   'estia' => {
 
   'estia' => {
 
     'R' => {
 
     'R' => {
       'filelis' => 1
+
       'developer1' => 1
 
     },
 
     },
 
     'W' => {
 
     'W' => {
       'filelis' => 1
+
       'developer1' => 1
 
     },
 
     },
     'filelis' => [
+
     'R' => {
 +
      'developer2' => 1
 +
    },
 +
    'W' => {
 +
      'developer2' => 1
 +
    },
 +
    'developer1' => [
 +
      [
 +
        995,
 +
        'refs/.*',
 +
        'RW+'
 +
      ]
 +
    ]
 +
    'developer2' => [
 
       [
 
       [
         994,
+
         996,
 
         'refs/.*',
 
         'refs/.*',
 
         'RW+'
 
         'RW+'
Γραμμή 35: Γραμμή 49:
 
     ]
 
     ]
 
   }
 
   }
μετά πηγαίνουμε στο project file στον client, αντιγράφουμε μέσα σε αυτόν το
+
μετά πηγαίνουμε στον client δηλαδή τον προσωπικό μας υπολογιστή.
.git από ένα ήδη υπάρχον repo project. Με έναν editor αλλάζουμε το project με
+
Τρέχουμε το git client δημιουργούμε ένα φάκελο με το όνομα του νέου project μας π.χ.estia πληκτρολογώντας
το νέο όνομα και το σώζουμε. Στο γονικό φάκελο πρέπει να υπάρχει ένας κρυφός
+
 
φάκελος με όνομα .ssh που περιέχει το id_rsa που περιέχει το ιδιωτικό κλειδί
+
$ mkdir estia
του χρήστη και το το id_rsa.pub που δημιουργήσαμε πχ με το PuTTYgen.
+
$ git clone ssh://gitolite@{Server FQDN or IP address}:{TCP/IP port No}/estia estia
Tο βασικό αρχείο είναι το known_hosts που δηλώνεται ο git server μαζί με το
 
public key του χρήστη ssh. Η ίδια δήλωση υπάρχει στο authorized_keys που
 
βρίσκεται στον αντίστοιχο φάκελο .ssh μέσα στο γονικό φάκελο του gitolite.
 
Τρέχουμε το git client στο pc μας και πηγαίνουμε στο νέο project directory.
 
Εκτελούμε τις παρακάτω εντολές π.χ.
 
  
$ cd d:
+
ΠΡΟΣΟΧΗ! Στο γονικό φάκελο πρέπει να υπάρχει ένας κρυφός φάκελος με όνομα .ssh
$ cd bp
+
που περιέχει π.χ. το αρχείο id_rsa που περιέχει το ιδιωτικό κλειδί
  $ cd ESTIA
+
του χρήστη και το δημόσιο κλειδί π.χ. στο αρχείο με όνομα 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 *.pas
 
  $ git add *.txt
 
  $ git add *.txt
Γραμμή 55: Γραμμή 72:
  
 
  $ git commit -m -a "ESTIA GIT START"
 
  $ git commit -m -a "ESTIA GIT START"
  $ git push origin master (μόνο την πρώτη φορά)
+
 
 +
άπαξ μόνο την πρώτη φορά
 +
 
 +
  $ git push origin master
 +
 
 +
και βεβαιωνόμαστε ότι μπορούμε να διαβάσουμε το project εκτελώντας
 +
 
  $ git pull
 
  $ git pull
  

Τελευταία αναθεώρηση της 16:31, 15 Απριλίου 2017

Προκειμένου να δημιουργήσουμε νέο αποθετήριο π.χ. με όνομα 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

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