Διαφορά μεταξύ των αναθεωρήσεων του "GIT"
(Διαδικασία δημιουργίας νέου αποθετηρίου π.χ. για ένα software project και βασικές λειτουργίες με βάση το πακέτο gitolite.) |
|||
(8 ενδιάμεσες αναθεωρήσεις από τον ίδιο χρήστη δεν εμφανίζεται) | |||
Γραμμή 1: | Γραμμή 1: | ||
− | Προκειμένου να δημιουργήσουμε νέο αποθετήριο με το πακέτο gitolite εκτελούμε | + | Προκειμένου να δημιουργήσουμε νέο αποθετήριο π.χ. με όνομα 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 το παρακάτω | προσθέτουυμε στο τέλος του gitolite.conf το παρακάτω | ||
repo estia | repo estia | ||
− | RW+ = | + | RW+ = developer1 developer2 |
− | + | server# vi gitolite.conf-compiled.pm | |
προσθέτουυμε στο τέλος του gitolite.conf-compiled.pm το παρακάτω. Προσοχή | προσθέτουυμε στο τέλος του gitolite.conf-compiled.pm το παρακάτω. Προσοχή | ||
στο σημείο που περιέχει τη δήλωση refs/.* για κάθε χρήστη πρέπει να υπάρχει | στο σημείο που περιέχει τη δήλωση refs/.* για κάθε χρήστη πρέπει να υπάρχει | ||
Γραμμή 22: | Γραμμή 23: | ||
'estia' => { | 'estia' => { | ||
'R' => { | 'R' => { | ||
− | ' | + | 'developer1' => 1 |
}, | }, | ||
'W' => { | 'W' => { | ||
− | ' | + | 'developer1' => 1 |
}, | }, | ||
− | ' | + | 'R' => { |
+ | 'developer2' => 1 | ||
+ | }, | ||
+ | 'W' => { | ||
+ | 'developer2' => 1 | ||
+ | }, | ||
+ | 'developer1' => [ | ||
+ | [ | ||
+ | 995, | ||
+ | 'refs/.*', | ||
+ | 'RW+' | ||
+ | ] | ||
+ | ] | ||
+ | 'developer2' => [ | ||
[ | [ | ||
− | + | 996, | |
'refs/.*', | 'refs/.*', | ||
'RW+' | 'RW+' | ||
Γραμμή 35: | Γραμμή 49: | ||
] | ] | ||
} | } | ||
− | μετά πηγαίνουμε | + | μετά πηγαίνουμε στον 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 που περιέχει το ιδιωτικό κλειδί | |
− | $ cd | + | του χρήστη και το δημόσιο κλειδί π.χ. στο αρχείο με όνομα 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
Στο μενού Αποθετήριο->Απεικόνιση Ιστορικού Όλων των Κλάδων