Page 76 - Linux Inside τ. 10

Linux Inside
76
Ο
σοι ασχολούμαστε είτε επαγγελματικά είτε –κυρίως–
εθελοντικά με το ελεύθερο λογισμικό, έχουμε συναντή-
σει πολλές φορές την ανάγκη να συμμετάσχουμε ενερ-
γά σε ένα project, με συνεισφορά σε κώδικα κάποιας από τις
προσωπικές μας αγαπημένες προγραμματιστικές γλώσσες.
Αυτό το project θα μπορούσε να είναι ένα site ή ένα πρόγραμ-
μα, παραδείγματος χάριν. Χρειάζονται, λοιπόν, κάποια μέσα
ώστε να μπορούμε να συμμετάσχουμε σε ένα project ομαδικό.
Το βασικότερο εργαλείο στη διαδικασία της ανάπτυξης του λο-
γισμικού που θέλουμε ή ακόμα και στη διαδικασία των unit
tests [1] που πρέπει να περάσει το λογισμικό για να βγει όσο
το δυνατόν λιγότερο buggy, είναι το αποθετήριο κώδικα
(
repository). Τα repositories μπορεί να βρίσκονται είτε τοπικά
σε έναν υπολογιστή είτε να βρίσκονται σε κάποιον απομακρυ-
σμένο εξυπηρετητή. Στο Διαδίκτυο υπάρχουν πολλές ιστοσελί-
δες που παρέχουν τέτοιου είδους υπηρεσίες – από τις πιο
γνωστές είναι το github [2], το gitorious [3], το bitbucket [4] και
άλλες [5]. Στο παρόν άρθρο θα δείξουμε πώς μπορούμε να
δημιουργήσουμε ένα project στο github, να το συνδέσουμε με
ένα project του netbeans (ακριβώς ίδια διαδικασία είναι και για
το eclipse) και στη συνέχεια να αρχίσουμε να ανεβάζουμε τον
κώδικά μας στο repository που θα έχουμε φτιάξει.
Βήμα 1:
Πηγαίνουμε στη σελίδα github.com και, αφού κά-
νουμε την εγγραφή μας, η οποία είναι δωρεάν, μπαίνουμε
στο site με το όνομα χρήστη (ή το e–mail) που έχουμε δώσει
κατά την εγγραφή.
Βήμα 2:
Για να μπορούμε να κάνουμε προσθήκες και να
τις ανεβάσουμε (commit), θα χρειαστεί να έχουμε δημιουργή-
σει ένα κλειδί ssh. Οδηγίες για το πώς γίνεται αυτό δίνονται
εδώ [6].
Βήμα 3:
Στη συνέχεια, αφού έχουμε πλέον δημιουργήσει ένα
νέο repository σύμφωνα με τις οδηγίες που μας δίνει το github
και τις αντίστοιχες επιλογές, θα χρειαστεί να βεβαιωθούμε ότι
έχουμε εγκατεστημένα στον υπολογιστή μας κάποια πακέτα.
Τρέχοντας ως υπερχρήστες (root) την παρακάτω εντολή
στο Fedora:
$ yum list git
είτε στο Ubuntu:
$ sudo aptitude search git
θα πρέπει να μας βγάλει ότι το πακέτο «git» είναι στα
installed packages. Αν δεν υπάρχει, το εγκαθιστούμε εμείς
μέσω του διαχειριστή πακέτων της διανομής μας, είτε δίνο-
ντας από το τερματικό:
Για Fedora (και rpm-based διανομές):
$ yum install git
Για Ubuntu (και debian-based διανομές):
$ sudo apt-get install git
Βήμα 4:
Ανοίγουμε το Netbeans. Βεβαιωνόμαστε ότι έχομε
εγκαταστήσει το plug–in που αφορά το git από τη λίστα των
διαθέσιμων plug–ins του Netbeans.
Βήμα 5:
Πηγαίνουμε στην επιλογή:
Team” -> “Git” -> “Clone” .
Θα μας εμφανίσει έναν οδηγό που θα μας ζητάει να δώ-
σουμε το link του repository που έχουμε φτιάξει. Κατά τη δη-
μιουργία του repository στην αρχική σελίδα του μας δίνει μία
σειρά από επιλογές (http, ssh, Git-Readonly). Εμείς αντιγρά-
φουμε ολόκληρη την τοποθεσία που ξεκινάει με το πρόθεμα
https και την επικολλάμε στο αντίστοιχο πεδίο του οδηγού.
Μόλις ολοκληρωθεί η διαδικασία, θα μας εμφανίσει μήνυμα
εάν επιθυμούμε να φτιάξουμε ένα project μέσα στο Netbeans,
με βάση τα αρχεία του cloned project. Επιλέγουμε «Ναι» και
στη συνέχεια μας ζητά να επιλέξουμε τι είδους θα είναι το
project, π.χ. Java application.
Βήμα 6:
Γράφουμε το πρόγραμμά μας ή κάνουμε τις αλλα-
γές που επιθυμούμε στον κώδικα του υπάρχοντος project.
Στη συνέχεια, κάνουμε δεξί κλικ στο project μας στα αριστε-
ρά, στον project browser του Netbeans και επιλέγουμε:
Git”->”Commit”.
Γράφουμε ένα συνοπτικό μήνυμα με τις αλλαγές που έχου-
με κάνει και πατάμε ΟΚ. Στη συνέχεια θα επιλέξουμε με την
ίδια πάλι διαδικασία:
Git”->”Remote”->”Push”
και ακολουθώντας τα βήματα του οδηγού και επιλέγοντας το
branch του project στο οποίο θα κάνουμε το commit μας (στην
περίπτωσή μας το «master»), μόλις πατήσουμε «Finish» οι αλ-
λαγές μας θα έχουν ανέβει στο αποθετήριό μας.
Συνοψίζοντας, τα βήματα που απαιτούνται γενικά για τη δημι-
ουργία και χρήση ενός αποθετηρίου, καθώς και τη χρήση του
μέσα από ένα πιο εξελιγμένο περιβάλλον προγραμματισμού
(
IDE) είναι μικρά, απλά και εύκολα, δίνοντάς μας άπειρες δυνα-
τότητες για συνεργασία με άλλους προγραμματιστές.
Του Δημήτρη Τομαρά <stilleto89@gmail.com>
Linux Labs – Git & Netbeans
Είδα ένα πολύ ωραίο project σε C, python ή όποια άλλη
διαδικαστική, αντικειμενοστρεφή ή scripting γλώσσα
μου αρέσει και θέλω να συνεισφέρω. Πώς θα το κάνω
αυτό μέσω του Netbeans (ή του Eclipse αντίστοιχα);
Εργαλεία:
Git, Netbeans
Δυσκολία:
Github
Git και Netbeans: Πώς να συνεισφέρετε με
κώδικα σε FOSS projects
Ο Δημήτρης είναι τελειόφοιτος Πληροφορικής στο ΕΚΠΑ και μέλος του Greek Fedora Community.
Δημιουργούμε το repository. Ορίζουμε περιγραφή και
επιλογές.
1