Δημοσιεύτηκε: 18 Ιουν 2011, 11:24
από simosx
Qdata έγραψε:@simosx μπορείς να ποστάρεις εδώ τα logs από την συζήτηση; :)


Spoiler: show
Jun 16 21:54:53 <simosx> βλέπω ότι μαζευόμαστε. πολύ ωραία!
Jun 16 21:55:01 <stefanos> ω ναι
Jun 16 21:55:26 <simosx> εκτός από την ανάπτυξη λογισμικού, ο κόσμος χρησιμοποιεί το git για ένα σωρό άλλα πράγματα.
Jun 16 21:55:57 <simosx> για παράδειγμα, για να παρακολουθώ τι αλλάζει στο /etc/, έφτιαξα εκεί ένα αποθετήριο, και βλέπω κάθε αλλαγή.
Jun 16 21:56:17 <simosx> οπότε, αυτά περί git είναι γενικότερα χρήσιμα.
Jun 16 21:56:23 * clepto (~chris@ppp046176096180.dsl.hol.gr) has joined #ubuntu-gr-meetings
Jun 16 21:57:29 <simosx> θα ξεκινήσουμε σε λίγα λεπτά.
Jun 16 21:57:46 * Dgkontopoulos (~dgk@ppp-94-65-70-106.home.otenet.gr) has joined #ubuntu-gr-meetings
Jun 16 21:58:15 <Dgkontopoulos> Καλησπέρα!
Jun 16 21:58:25 <clepto> εντάξει!
Jun 16 21:58:51 <simosx> καλησπέρα!
Jun 16 22:00:15 <simosx> Πήγε 10μμ. Ας ξεκινήσουμε.
Jun 16 22:00:27 <simosx> Πρώτο πράγμα, ας συστηθούμε.
Jun 16 22:00:35 * simosx είναι ο Σίμος Ξενιτέλλης.
Jun 16 22:01:04 <clepto> με λένε Χρήστο Τριανταφύλλη!
Jun 16 22:01:25 <simosx> (είναι εντάξει να πείτε και το μικρό όνομα μόνο).
Jun 16 22:01:37 <Dgkontopoulos> Όπως είναι προφανές, με λένε Δημήτριο - Γεώργιο Κοντόπουλου, γνωστό και ως evolgen. :)
Jun 16 22:01:42 <Dgkontopoulos> *Κοντόπουλο
Jun 16 22:01:59 <h3adl3ss> emena 8ano paidia
Jun 16 22:02:00 <simosx> ωραία, καλώς όρισες evolgen.
Jun 16 22:02:45 <toumbo> Κι εμενα Βασίλη
Jun 16 22:02:54 <stefanos> Εγω ειμαι ο Τσακλιδης Στέφανος
Jun 16 22:03:01 <Dgkontopoulos> Ευχαριστώ, καλώς σας βρήκα! :) Και ένα θερμό καλωσόρισμα σε όλους!
Jun 16 22:03:09 <clepto> ευχαριστώ, επίσης!
Jun 16 22:03:46 <simosx> Ας προχωρήσουμε.
Jun 16 22:03:58 <simosx> Θα δούμε πως χρησιμοποιούμε το git.
Jun 16 22:04:24 <simosx> Και πως μπορούμε να στείλουμε τα προγράμματά μας στο github.com, που παρέχει δημόσιες δωρεάν υπηρεσίες git.
Jun 16 22:04:49 <simosx> 1. Ανοίγουμε νέο τερματικό, και θα κάνουμε τα υπόλοιπα από το τερματικό.
Jun 16 22:05:05 <simosx> 2. Εγκαθιστούμε το git, αν δεν είναι ήδη εγκατεστημένο. Εντολή: sudo apt-get install git
Jun 16 22:05:20 <simosx> Είδα ότι σε 11.04 το git είναι προεγκατεστημένο (εξαιρετικό).
Jun 16 22:06:11 <simosx> όταν ολοκληρωθεί, γράψτε εδώ «οκ».
Jun 16 22:06:22 <Dgkontopoulos> οκ
Jun 16 22:06:33 <simosx> πολύ ωραία.
Jun 16 22:06:35 <stefanos> εγω εχω προβλημα
Jun 16 22:06:42 <simosx> stefanos: για πες.
Jun 16 22:06:44 <clepto> οκ, απλά εγώ είμαι σε arch...
Jun 16 22:06:52 <simosx> clepto: οκ.
Jun 16 22:06:59 <stefanos> E: Package git has no installation candidate
Jun 16 22:07:11 <simosx> stefanos: τι έκδοση Ubuntu έχεις;
Jun 16 22:07:23 <stefanos> 10.04 εχω
Jun 16 22:07:40 <simosx> stefanos: οκ, τότε δοκίμασε sudo apt-get install git-core
Jun 16 22:08:05 <stefanos> ωραια κανει
Jun 16 22:08:14 <simosx> μια χαρά.
Jun 16 22:08:30 <simosx> Το επόμενο βήμα είναι η αρχική παραμετροποίηση. Δίνουμε το όνομά μας, κτλ.
Jun 16 22:08:59 <simosx> -> git config --global user.name "Simos Xenitellis <simos.lists@googlemail.com>"
Jun 16 22:09:09 <simosx> (φυσικά βάλτε το δικό σας όνομα)
Jun 16 22:09:25 <simosx> Συγνώμη, λάθος.
Jun 16 22:09:30 <simosx> -> git config --global user.name "Simos Xenitellis"
Jun 16 22:09:52 <clepto> ok
Jun 16 22:09:52 <simosx> -> git config --global user.email "simos.lists@googlemail.com"
Jun 16 22:10:00 <simosx> θέλει ξεχωριστά.
Jun 16 22:10:14 <simosx> και τέλος τρέχουμε
Jun 16 22:10:18 <simosx> -> git config --global color.ui auto
Jun 16 22:10:41 <simosx> το τελευταίο είναι να δείχνει χρώματα όταν γράφουμε εντολές, βοηθάει να έχουμε όμορφη εμφάνιση.
Jun 16 22:10:59 <simosx> Αυτά τα κάνουμε μια φορά και διατηρούντε για πάντα στην τρέχουσα εγκατάσταση.
Jun 16 22:11:30 <simosx> Μπορείτε να τα δείτε και εκτελώντας: git config -l
Jun 16 22:11:56 <clepto> οκ εγώ
Jun 16 22:12:05 <stefanos> και εγω οκ
Jun 16 22:12:07 <Dgkontopoulos> οκ
Jun 16 22:12:35 <simosx> Μπορείτε να τα δείτε και εκτελώντας: cat ~/.gitconfig
Jun 16 22:12:39 * Dimitris (~dimitris@ppp-94-66-151-95.home.otenet.gr) has joined #ubuntu-gr-meetings
Jun 16 22:12:40 <simosx> πολύ ωραία.
Jun 16 22:12:59 <simosx> το επόμενο βήμα είναι να φτιάξουμε το πρώτο αποθετήριο.
Jun 16 22:13:23 <simosx> 1. φτιάχνουμε ένα νέο κατάλογο και μπαίνουμε μέσα (mkdir myproject ; cd myproject)
Jun 16 22:13:54 <simosx> 2. αρχικοποιούμε τον κατάλογο για να γίνει αποθετήριο git: git init
Jun 16 22:14:32 <simosx> η εντολή git init φτιάχνει τα αρχικά αρχεία του git, και τα βάζει σε υποκατάλογο .git/. Εκτελέστε μετά ls -la για να δείτε ότι τώρα υπάρχει .git/
Jun 16 22:15:32 <clepto> done
Jun 16 22:15:41 <stefanos> και εγω
Jun 16 22:15:44 <Dgkontopoulos> και εγώ
Jun 16 22:15:50 <simosx> πολύ ωραία.
Jun 16 22:16:19 <simosx> Για πείτε, έχετε προτίμηση σε τι γλώσσα προγραμματίζετε; C, Python, κάτι άλλο; (πείτε τη γλώσσα σας).
Jun 16 22:16:36 <stefanos> Εγω C++ ξερω
Jun 16 22:16:40 <simosx> οκ
Jun 16 22:16:41 <Dgkontopoulos> κυρίως Perl, αλλά και C. Από Python έχω μια μικρή ιδέα.
Jun 16 22:16:44 <clepto> τώρα τελευταία ασχολούμαι με C, μαθαίνω όσο μπορώ
Jun 16 22:17:07 <simosx> πολύ ωραία. είστε σε θέση να φτιάξετε το αντίστοιχο HelloWorld στη γλώσσα της επιλογής σας;
Jun 16 22:17:12 <Dgkontopoulos> ναι
Jun 16 22:17:15 <clepto> ναι
Jun 16 22:17:17 <stefanos> φυσικα
Jun 16 22:17:18 <simosx> οκ
Jun 16 22:17:52 <simosx> οπότε, γράψτε το πρόγραμμα, ό,τι πιο απλό.
Jun 16 22:18:11 <clepto> έτοιμο
Jun 16 22:18:12 <simosx> μόλις το δοκιμάσετε και τρέχει, εκτελέστε git status και γράψτε οκ.
Jun 16 22:18:44 <Dgkontopoulos> οκ
Jun 16 22:18:52 <clepto> να το βάλουμε μέσα στο φάκελο που φτιάξαμε για το git;
Jun 16 22:19:33 <simosx> το βάζεις το π.χ. myproject. (δε βάζεις τίποτα στο .git/ Εκεί το αφήνεις πάντα ως έχει διότι είναι ειδικός κατάλογος).
Jun 16 22:19:45 <clepto> ok!
Jun 16 22:20:00 <simosx> Αν όλα είναι καλά θα δείτε (από git status) μεταξύ άλλων το
Jun 16 22:20:08 <simosx> # Untracked files:
Jun 16 22:20:08 <simosx> # (use "git add <file>..." to include in what will be committed)
Jun 16 22:20:08 <simosx> #
Jun 16 22:20:08 <simosx> # mytest.py
Jun 16 22:20:08 <simosx> nothing added to commit but untracked files present (use "git add" to track)
Jun 16 22:20:17 <Dgkontopoulos> ναι
Jun 16 22:20:33 <clepto> ναι
Jun 16 22:20:39 <simosx> Η εντολή git status λέει ότι υπάρχει ένα νέο αρχείο στο αποθετήριο, που δεν το γνωρίζει το git, και δεν το παρακολουθεί ακόμα (είναι untracked).
Jun 16 22:21:08 <simosx> Όταν βάζουμε ένα νέο αρχείο στο αποθετήριο, το προετοιμάζουμε (μια φορά στην αρχή μόνο), με την εντολή git add:
Jun 16 22:21:19 <simosx> git add mytest.py (για την περίπτωσή μου).
Jun 16 22:21:36 <simosx> κάντε το και τρέξτε ξανά git status
Jun 16 22:21:45 <Dgkontopoulos> οκ
Jun 16 22:21:48 <clepto> ok
Jun 16 22:22:00 <simosx> stefanos: ;
Jun 16 22:22:15 <simosx> # Changes to be committed:
Jun 16 22:22:15 <simosx> # (use "git rm --cached <file>..." to unstage)
Jun 16 22:22:15 <simosx> #
Jun 16 22:22:15 <simosx> # new file: mytest.py
Jun 16 22:22:37 <stefanos> ναι εκανα και το add
Jun 16 22:22:47 <simosx> οπότε τώρα αναφέρει ότι υπάρχει αρχείο που είναι προετοιμασμένο για την αρχική εισαγωγή.
Jun 16 22:22:47 <simosx> οκ
Jun 16 22:23:00 <simosx> Και τώρα μπορούμε να εκτελέσουμε το commit, στο τοπικό αποθετήριο,
Jun 16 22:23:20 <simosx> git commit -m "Initial import" mytest.py
Jun 16 22:23:40 <simosx> -m "Initial import" δηλώνει το σχόλιο για το commit.
Jun 16 22:23:55 <simosx> στο τέλος της εντολής βάζουμε τα αρχεία που θα γίνουν commit.
Jun 16 22:24:09 <clepto> ok
Jun 16 22:24:14 <Dgkontopoulos> οκ
Jun 16 22:24:17 <simosx> > git commit -m "Initial import" mytest.py
Jun 16 22:24:17 <simosx> [master (root-commit) 6ce2503] Initial import
Jun 16 22:24:17 <simosx> 1 files changed, 3 insertions(+), 0 deletions(-)
Jun 16 22:24:17 <simosx> create mode 100755 mytest.py
Jun 16 22:24:26 <stefanos> οκ
Jun 16 22:25:00 <simosx> εργασία: προσθέστε κάτι στο πρόγραμμά σας (π.χ. ένα ακόμα print) και γράψτε git diff
Jun 16 22:25:42 <simosx> όποιος προλάβει πρώτος, μπορεί να κάνει επικόλληση του αποτελέσματος εδώ στο κανάλι. ;-)
Jun 16 22:26:07 <Dgkontopoulos> diff --git a/helloworld.pl b/helloworld.pl
Jun 16 22:26:07 <Dgkontopoulos> index ba69a67..c74b413 100755
Jun 16 22:26:07 <Dgkontopoulos> --- a/helloworld.pl
Jun 16 22:26:07 <Dgkontopoulos> +++ b/helloworld.pl
Jun 16 22:26:07 <Dgkontopoulos> @@ -1,4 +1,4 @@
Jun 16 22:26:07 <Dgkontopoulos> #!/usr/bin/perl -w
Jun 16 22:26:09 <clepto> chris@chris-aspire5732z:~/myproject$ git diff
Jun 16 22:26:09 <Dgkontopoulos>
Jun 16 22:26:10 <clepto> diff --git a/hello.c b/hello.c
Jun 16 22:26:10 <clepto> index fa4d7e8..2931523 100755
Jun 16 22:26:10 <clepto> --- a/hello.c
Jun 16 22:26:10 <clepto> +++ b/hello.c
Jun 16 22:26:10 <clepto> @@ -2,5 +2,7 @@
Jun 16 22:26:11 <Dgkontopoulos> print "Hello world!\n";
Jun 16 22:26:12 <clepto> main()
Jun 16 22:26:13 <Dgkontopoulos> -
Jun 16 22:26:14 <clepto> {
Jun 16 22:26:15 <Dgkontopoulos> +print "This IS a rehearsal.\n";
Jun 16 22:26:16 <clepto> printf("hello, world\n");
Jun 16 22:26:18 <clepto> +
Jun 16 22:26:20 <clepto> +printf("kalo to git");
Jun 16 22:26:24 <clepto> }
Jun 16 22:26:26 <clepto>
Jun 16 22:26:33 <stefanos> diff --git a/ena.cpp b/ena.cpp
Jun 16 22:26:33 <stefanos> index 55427dd..9492990 100644
Jun 16 22:26:33 <stefanos> --- a/ena.cpp
Jun 16 22:26:33 <stefanos> +++ b/ena.cpp
Jun 16 22:26:33 <stefanos> @@ -3,6 +3,6 @@ using namespace std;
Jun 16 22:26:34 <stefanos>
Jun 16 22:26:36 <stefanos> int main (){
Jun 16 22:26:38 <stefanos> cout<<"Hello World";
Jun 16 22:26:40 <stefanos> -
Jun 16 22:26:42 <stefanos> +cout<<"Hello world 2!";
Jun 16 22:26:44 <stefanos>
Jun 16 22:26:48 <stefanos> }
Jun 16 22:26:57 <simosx> πολύ ωραία!
Jun 16 22:27:21 <simosx> και με git status μπορείτε να δείτε ότι το git γνωρίζει ότι το αρχείο έχει τροποποιηθεί.
Jun 16 22:27:49 <simosx> Ξανά, κάντε το commit, με π.χ. git commit -m "Added another print statement" mytest.py
Jun 16 22:28:12 <Dgkontopoulos> οκ
Jun 16 22:28:25 <clepto> ok
Jun 16 22:28:29 <stefanos> οκ
Jun 16 22:28:43 <simosx> Τώρα, μόνοι σας προσθέστε κάτι ακόμα στο πρόγραμμα και κάντε ξανά commit. Πείτε ok μόλις ολοκληρώσετε.
Jun 16 22:28:55 * pc_magas has quit (Quit: sudo shutdown -h now)
Jun 16 22:29:36 <stefanos> οκ
Jun 16 22:29:40 <clepto> ok
Jun 16 22:29:44 <simosx> πολύ ωραία.
Jun 16 22:29:47 <Dgkontopoulos> ok
Jun 16 22:29:54 <simosx> Τώρα εγκαταστήστε το πρόγραμμα gitg, sudo apt-get install gitg
Jun 16 22:30:12 <clepto> ok
Jun 16 22:30:49 <simosx> και τρέξτε το. Πρέπει να αναγνωρίσει αυτόματα το αποθετήριο και να δείξει τις λεπτομέρειες από τα 3 commit, με όμορφο τρόπο.
Jun 16 22:30:50 <stefanos> οκ
Jun 16 22:31:18 <clepto> δεν μου το αναγνώρισε
Jun 16 22:31:48 <Dgkontopoulos> ok
Jun 16 22:31:52 <simosx> clepto: το pwd τι λέει; σε ποιο κατάλογο είσαι όταν τρέχεις gitg;
Jun 16 22:32:05 <stefanos> εγω εκανα εγκατασταση αλλα δεν το τρεχει το προγραμμα
Jun 16 22:32:17 <clepto> σωστος σίμο...εντάξει τώρα
Jun 16 22:32:25 <simosx> μπορείτε να επιλέξετε τα commit στο gitg και θα δείξει την κάθε αλλαγή.
Jun 16 22:32:44 <simosx> stefanos: όταν δοκιμάζεις να το τρέξεις, τι εμφανίζει;
Jun 16 22:33:05 <stefanos> λεει no command found και προτεινει αλλες εντολες
Jun 16 22:33:19 <simosx> stefanos: sudo apt-get install gitg έτρεξε;
Jun 16 22:33:25 <stefanos> ναι
Jun 16 22:33:39 <Dgkontopoulos> εδώ πάντως δουλεύει κανονικά
Jun 16 22:34:05 <simosx> σε 10.04 το gitg δούλευε μια χαρά. Ίσως να το είχα μεταγλωττίσει..
Jun 16 22:34:40 <simosx> stefanos: μπορείς να δοκιμάσεις και sudo apt-get install gitk
Jun 16 22:34:52 <simosx> και μετά να τρέξεις gitk (αντί για gitg)
Jun 16 22:35:21 <stefanos> ωραια αυτο δουλευει
Jun 16 22:35:29 <simosx> μια χαρά!
Jun 16 22:36:11 <simosx> το επόμενο βήμα είναι, πως να μεταφέρουμε τα αποθετήρια σε αυτό το github.com, ώστε να βοηθήσουν και άλλοι στην ανάπτυξη.
Jun 16 22:36:26 <simosx> 1. Πάμε στο www.github.com και φτιάχνουμε λογαριασμό.
Jun 16 22:36:49 <simosx> επιλέξτε ωραίο όνομα χρήστη. Εγώ π.χ. έχω simosx
Jun 16 22:37:42 <stefanos> γιατι δεν βλεπω την εγγραφη?
Jun 16 22:37:43 <simosx> θα ζητηθεί ημαιλ, κωδικός, κτλ κατά τα γνωστά.
Jun 16 22:37:59 <simosx> το λέει «Pricing and Signup».
Jun 16 22:38:26 <simosx> στο μέσον της σελίδας github.com, το μπλε κουμπί Plans, Pricing and Signup
Jun 16 22:38:52 <Dgkontopoulos> ερώτηση: εάν δεν είμαστε ακόμα έτοιμοι να στείλουμε την εφαρμογή online, δε μας περιορίζει κάτι στο να δουλεύουμε απλώς με το git;
Jun 16 22:39:00 <simosx> κάνεις κλικ εκεί και βλέπεις ότι μπορείς τσάμπα ή να πληρώσεις.
Jun 16 22:39:24 <simosx> Dgkontopoulos: πράγματι, μπορείς να δουλεύεις το πρόγραμμά σου τοπικά δίχως πρόβλημα.
Jun 16 22:39:25 <clepto> οκ εγω
Jun 16 22:39:32 <Dgkontopoulos> κι εγώ
Jun 16 22:39:53 <stefanos> το τσαμπα ποιο ειναι?
Jun 16 22:40:00 <simosx> θέλουμε να δούμε τη διαδικασία με το github.com (μπορείς να σβήσεις το αποθετήριο, κτλ). Θέλουμε να δούμε τη δυνατότητα συνεργασίας.
Jun 16 22:40:21 <simosx> 1. https://github.com/plans 2. Κίτρινο, Create a free account.
Jun 16 22:40:31 <stefanos> ωπ στραβος
Jun 16 22:40:58 <stefanos> οκ και εγω
Jun 16 22:42:08 <simosx> το επόμενο βήμα είναι να φτιάξουμε κλειδί SSH για την ασφαλή επικοινωνία με το github.com.
Jun 16 22:42:23 <simosx> έχει κανείς ήδη κλειδί SSH;
Jun 16 22:42:31 <clepto> δεν νομίζω...
Jun 16 22:42:31 <stefanos> οχι...
Jun 16 22:42:47 <simosx> Εκτελώντας ls -l ~/.ssh/ θα δείξει αν έχετε.
Jun 16 22:42:53 <Dgkontopoulos> όχι
Jun 16 22:43:05 <simosx> οκ.
Jun 16 22:43:12 <clepto> οχι
Jun 16 22:43:20 <stefanos> δεν εχω
Jun 16 22:43:26 <simosx> Εδώ φτιάχνουμε κλειδί για public key cryptography.
Jun 16 22:43:51 <simosx> στην κοινή κρυπρογραφία είναι το ίδιο κλειδί που κρυπτογραφεί + αποκρυπτογραφεί.
Jun 16 22:44:39 <simosx> Στην ασύμετρη/public key cryptography, φτιάχνεις ένα ειδικό ζεύγος, δύο κομμάτια. Το ένα κομμάτι λέγεται Ιδιωτικό κλειδί, το άλλο Δημόσιο κλειδί.
Jun 16 22:45:01 <simosx> Τρέχουμε: ssh-keygen -t rsa -C "myemailaddress@gmail.com"
Jun 16 22:45:10 <simosx> (βάλτε το ημαιλ σας, κτλ)
Jun 16 22:45:23 * toumbo (~vasilis@unaffiliated/toumbo) has left #ubuntu-gr-meetings
Jun 16 22:45:43 <clepto> πρέπει να είμαστε στο φάκελο που έχουμε φτιάξει για το git;
Jun 16 22:45:45 <Dgkontopoulos> και το αποθηκεύουμε στο default μέρος που προτείνει;
Jun 16 22:45:46 * Dimitris has quit (Quit: Ex-Chat)
Jun 16 22:45:49 <simosx> εκεί που λέει passphrase, βάλτε κάτι.
Jun 16 22:45:58 <simosx> Ναι, αποθήκευση στο default μέρος.
Jun 16 22:46:05 * Dimitris (~dimitris@ppp-94-66-151-95.home.otenet.gr) has joined #ubuntu-gr-meetings
Jun 16 22:46:13 <stefanos> παιδια κατι μου ετυχε πρεπει να φυγω,θα αφησω ανοιχτο το τσατ να τα δω μετα
Jun 16 22:46:16 <simosx> clepto: μπορείς να είσαι σε οποιοδήποτε κατάλογο.
Jun 16 22:46:22 <simosx> οκ
Jun 16 22:46:59 <clepto> ok!
Jun 16 22:47:02 <Dgkontopoulos> οκ
Jun 16 22:47:33 <simosx> πολύ ωραία. Ας ξετρυπώσουμε το ζεύγος των κλειδιών. Με ls -l ~/.ssh/ θα δείτε το ζεύγος.
Jun 16 22:47:48 <simosx> Το id_rsa.pub είναι το αρχείο με το δημόσιο κλειδί σας.
Jun 16 22:48:03 <simosx> το id_rsa είναι το ιδιωτικό, που το φυλάτε.
Jun 16 22:48:27 <simosx> gedit ~/.ssh/id_rsa.pub και επιλογή όλων.
Jun 16 22:48:42 <simosx> Πάμε στο github.com για να προσθέσουμε το δημόσιο κλειδί.
Jun 16 22:49:52 <clepto> ok
Jun 16 22:50:08 <simosx> Πάμε στο github.com, εκεί που λέει Account Settings, SSH Public Keys.
Jun 16 22:50:55 <simosx> Click στο Add another public key, προσθέτε ένα τίτλο (ό,τι νάναι), και επικολλήστε το δημόσιο κλειδί εκεί που λέει Key.
Jun 16 22:51:11 <Dgkontopoulos> οκ
Jun 16 22:51:26 <clepto> ok
Jun 16 22:51:27 <simosx> πολύ ωραία
Jun 16 22:51:41 <simosx> Τώρα, ας φτιάξουμε το πρώτο αποθετήριό μας
Jun 16 22:51:57 <simosx> Πάμε στην αρχική σελίδα του github, και πατάμε Create a new repository.
Jun 16 22:52:22 <simosx> «New Repository», σκούρο κουμπί στα δεξιά.
Jun 16 22:53:04 <clepto> ok
Jun 16 22:53:14 <Dgkontopoulos> οκ
Jun 16 22:53:39 <simosx> Δώστε project name (π.χ. helloworld) και πατήστε Create Repository
Jun 16 22:54:05 <clepto> ok
Jun 16 22:54:10 <Dgkontopoulos> οκ
Jun 16 22:54:44 <simosx> θα εμφανίσει οδηγίες για να ρυθμίσετε το τοπικό σας αποθετήριο, ώστε να θεωρεί ότι η πηγή (origin) είναι στο github.
Jun 16 22:55:01 <simosx> Δείτε αυτό που λέει στο «Existing Git Repo?».
Jun 16 22:55:14 <simosx> έχει 3 εντολές.
Jun 16 22:55:21 <simosx> όπου,
Jun 16 22:55:30 <simosx> git remote add origin git@github.com:.................
Jun 16 22:55:50 <simosx> καθορίζει ότι η πηγή του αποθετηρίου θα είναι πια στο github.com.
Jun 16 22:56:34 <simosx> git push -u origin master το τρέχουμε μια φορά και στέλνει το τοπικό μας αποθετήριο στο github.com. Κάνει push το αποθετήριό μας στην πηγή (origin).
Jun 16 22:56:51 <clepto> να δώσουμε τις εντολές αυτές;
Jun 16 22:57:14 <simosx> ναι, δίνεις τις δύο εντολές, git remote add... και git push -u origin master
Jun 16 22:57:28 * tsika (55499c57@gateway/web/freenode/ip.85.73.156.87) has joined #ubuntu-gr-meetings
Jun 16 22:58:05 <clepto> προβλημα
Jun 16 22:58:09 <clepto> chris@chris-aspire5732z:~$ git remote add origin git@github.com:Clepto/helloworld.git
Jun 16 22:58:09 <clepto> fatal: Not a git repository (or any parent up to mount parent )
Jun 16 22:58:10 <clepto> Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
Jun 16 22:58:32 <simosx> clepto: πρέπει να είσαι στον κατάλογο με το αποθετήριο. Τώρα είσαι στο ~/
Jun 16 22:58:46 <Dgkontopoulos> εδώ οκ
Jun 16 22:58:56 <simosx> clepto: είναι ο κατάλογος που έχει τον πηγαίο κώδικα του hello world.
Jun 16 22:59:19 * dimos (~dimos@unaffiliated/dimos) has joined #ubuntu-gr-meetings
Jun 16 22:59:22 <simosx> Dgkontopoulos: τώρα στο Firefοχ πάτησε στο When you are done: continue.
Jun 16 22:59:51 <Dgkontopoulos> οκ
Jun 16 23:00:05 <simosx> Dgkontopoulos: δώσε το URL σου για να δω το αποτέλεσμα.
Jun 16 23:00:17 <Dgkontopoulos> https://github.com/dgkontopoulos/helloworld
Jun 16 23:00:30 <clepto> he authenticity of host 'github.com (207.97.227.239)' can't be established.
Jun 16 23:00:30 <clepto> RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Jun 16 23:00:31 <clepto> Are you sure you want to continue connecting (yes/no)? yes
Jun 16 23:00:31 <clepto> Warning: Permanently added 'github.com,207.97.227.239' (RSA) to the list of known hosts.
Jun 16 23:00:31 <clepto> Permission denied (publickey).
Jun 16 23:00:31 <clepto> fatal: The remote end hung up unexpectedly
Jun 16 23:00:42 <clepto> στην δεύτερη εντολή παίρνω αυτά
Jun 16 23:01:06 * tsika (55499c57@gateway/web/freenode/ip.85.73.156.87) has left #ubuntu-gr-meetings
Jun 16 23:01:20 <simosx> clepto: για εκτέλεσε ssh git@github.com και γράψε τις δύο τελευταίες γραμμές.
Jun 16 23:01:41 <clepto> Permission denied (publickey).
Jun 16 23:02:05 <Dgkontopoulos> μήπως δεν έβαλες το σωστό passphrase;
Jun 16 23:03:11 <simosx> clepto: επιβεβαίωσε ότι έχεις δώσει το σωστό κλειδί στο github.com (SSH Public key)
Jun 16 23:04:19 <clepto> το εσβησα και το ξαναεβαλα στο github.com αλλα παλι το ιδιο
Jun 16 23:04:20 <simosx> clepto: δες στο https://github.com/account/ssh
Jun 16 23:05:25 <clepto> παλι το ιδιο
Jun 16 23:05:55 <simosx> clepto: για εκτέλεσε ssh -v git@github.com και βάλτε στο pastebin.
Jun 16 23:07:39 <simosx> Dgkontopoulos: ψάξε να βρεις στο github.com πως μπορείς να βάλεις συνεργάτες (collaborators). Και βάλε με. Είμαι ο «simos».
Jun 16 23:07:46 <clepto> http://pastebin.ubuntu-gr.org/f72a75975
Jun 16 23:09:18 <simosx> clepto: και ls -l ~/.ssh/
Jun 16 23:09:41 <clepto> chris@chris-aspire5732z:~/myproject$ ls -l ~/.ssh/
Jun 16 23:09:41 <clepto> total 12
Jun 16 23:09:41 <clepto> -rw------- 1 chris users 1766 Jun 16 22:46 id_rsa
Jun 16 23:09:41 <clepto> -rw-r--r-- 1 chris users 405 Jun 16 22:46 id_rsa.pub
Jun 16 23:09:41 <clepto> -rw-r--r-- 1 chris users 407 Jun 16 22:59 known_hosts
Jun 16 23:09:42 <clepto> chris@chris-aspire5732z:~/myproject$
Jun 16 23:10:12 <Dgkontopoulos> simosx: οκ
Jun 16 23:10:35 <simosx> clepto: και έβαλες το περιεχόμενο του id_rsa.pub στο github.com, έτσι;
Jun 16 23:10:55 <clepto> nai
Jun 16 23:13:35 <simosx> clepto: μπορεί να συμβαίνει κάτι επειδή έχεις άλλη διανομή. κάτι μεταξύ git + ssh.
Jun 16 23:14:09 <clepto> χμ
Jun 16 23:14:24 <clepto> καλά συνεχίστε εσείς και θα τα δω από τα logs
Jun 16 23:14:26 * stefanos has quit (Quit: Leaving)
Jun 16 23:15:16 <simosx> clepto: οκ
Jun 16 23:15:54 <simosx> Dgkontopoulos: για δες τώρα στο https://github.com/dgkontopoulos/helloworld
Jun 16 23:16:01 <simosx> αναφέρει ότι δεν υπάρχει README.
Jun 16 23:16:25 <simosx> 1. Μπορείς να φτιάξεις ένα αρχείο README στο αποθετήριό σου, το κάνεις git add και μετά git commit.
Jun 16 23:16:37 <simosx> 2. Και τέλος, εκτελείς git push για να σταλθεί στο github!
Jun 16 23:17:45 <simosx> Μόλις το κάνεις, θα το δούμε στη σελίδα https://github.com/dgkontopoulos/helloworld
Jun 16 23:17:53 <Dgkontopoulos> done
Jun 16 23:18:12 <simosx> Πολύ ωραία: https://github.com/dgkontopoulos/helloworld
Jun 16 23:18:37 <simosx> Στη σελίδα αυτή βλέπεις εκεί που λέει «SSH», «Git Read-Only»;
Jun 16 23:18:52 <Dgkontopoulos> ναι
Jun 16 23:18:55 <simosx> Είναι κουμπιά και πατώντας τα λαμβάνεις δίπλα το URL του αποθετηρίου.
Jun 16 23:19:09 <simosx> Οι υπόλοιποι βλέπουν μόνο το Git Read-Only.
Jun 16 23:19:18 <Dgkontopoulos> αχά
Jun 16 23:19:48 <simosx> clepto: Πάρε το URL για το Git Read-Only, και εκτέλεσε (σε νέο κατάλλογο, εκτός αποθετηρίου) την εντολή
Jun 16 23:19:56 <simosx> clepto: git clone git@github.com:dgkontopoulos/helloworld.git
Jun 16 23:20:11 <simosx> Dgkontopoulos: μπορείς να μπεις στο /tmp και να τρέξεις την παραπάνω εντολή.
Jun 16 23:20:40 <clepto> chris@chris-aspire5732z:~$ git clone git@github.com:dgkontopoulos/helloworld.gitCloning into helloworld...
Jun 16 23:20:40 <clepto> Permission denied (publickey).
Jun 16 23:20:40 <clepto> fatal: The remote end hung up unexpectedly
Jun 16 23:20:44 <clepto> δεν με θελει σημερα :Ρ
Jun 16 23:20:56 <Dgkontopoulos> εδώ οκ
Jun 16 23:21:05 <simosx> clepto: γκαντεμιά.
Jun 16 23:21:16 * dimos (~dimos@unaffiliated/dimos) has left #ubuntu-gr-meetings
Jun 16 23:22:30 <simosx> Dgkontopoulos: πολύ ωραία.
Jun 16 23:23:00 <simosx> Τώρα, επειδή είμαι collaborator, μπορώ να πάρω το αποθετήριό σου, Read+Write, και να προσθέσω δικά μου commit.
Jun 16 23:23:02 <simosx> μισό.
Jun 16 23:23:59 <simosx> clepto: Δοκίμασε ξανά με git clone git://github.com/dgkontopoulos/helloworld.git
Jun 16 23:24:41 <clepto> εντάξει τώρα
Jun 16 23:25:04 <simosx> clepto: επειδή είναι το read-only και δε χρησιμοποιεί κλειδί.
Jun 16 23:25:36 <simosx> Dgkontopoulos: για δες τώρα στο https://github.com/dgkontopoulos/helloworld
Jun 16 23:25:49 <simosx> έχω στείλει ένα commit.
Jun 16 23:26:08 <Dgkontopoulos> το είδα!
Jun 16 23:26:10 <simosx> Για να ενημερώσεις το αποθετήριό σου με την αλλαγή μου, γράφεις
Jun 16 23:26:17 <simosx> git pull --rebase
Jun 16 23:26:30 <simosx> clepto: μπορείς να γράψεις και εσύ το ίδιο για να λάβεις την αλλαγή μου.
Jun 16 23:27:17 <Dgkontopoulos> simosx: οκ
Jun 16 23:27:24 <simosx> Και οι δύο: Τρέξτε git config --global alias.up "pull --rebase"
Jun 16 23:27:49 <simosx> θα φτιάξει ένα alias, οπότε αντί για την παραπάνω εντολή, θα χρειάζεται να γράφετε git up και αυτό ήταν!
Jun 16 23:28:01 <Dgkontopoulos> ωραία, done. :)
Jun 16 23:28:03 <clepto> ετρεξα το git pull --rebase και πηρα παλι το σφαλμα
Jun 16 23:28:14 <simosx> clepto: τι σφάλμα;
Jun 16 23:28:20 <clepto> Permission denied (publickey).
Jun 16 23:28:20 <clepto> fatal: The remote end hung up unexpectedly
Jun 16 23:28:54 <simosx> clepto: δε θα έπρεπε να ζητά κλειδί διότι έχεις το read only αποθετήριο, που δεν έχει κλειδί.
Jun 16 23:29:16 <clepto> δεν ξερω τι να σου π
Jun 16 23:29:17 <simosx> Dgkontopoulos: Τώρα, πρόσθεσε ένα ακόμα commit, και κάνε git push.
Jun 16 23:32:04 <Dgkontopoulos> και done!
Jun 16 23:32:08 * h3adl3ss has quit (Quit: gone,bb)
Jun 16 23:33:09 <simosx> Dgkontopoulos: έκανα 'git up' και ενημέρωσα τον κλώνο (clone) του αποθετηρίου.
Jun 16 23:33:26 <simosx> Dgkontopoulos: τώρα με gitg μπορείς να δεις όλες τις αλλαγές, δικές σου και δική μου.
Jun 16 23:34:04 <Dgkontopoulos> πάνω στο gitg, τι σημαίνουν τα "master" και "origin/master";
Jun 16 23:34:11 <simosx> clepto: μπορείς να κάνεις ξανά git clone git://github.com/dgkontopoulos/helloworld.git
Jun 16 23:34:59 <simosx> Στο git μπορούμε να έχουμε κλάδους ανάπτυξης (branches), όπου σε ένα κλάδο δοκιμάζουμε κάτι, και αν όλα πάνε καλά, το ενσωματώνουμε στον βασικό κορμό.
Jun 16 23:35:07 <simosx> master είναι ο βασικός κορμός.
Jun 16 23:35:36 <simosx> Το σκέτο master είναι ο βασικός κορμός στο τοπικό σου αποθετήριο, στον υπολογιστή σου.
Jun 16 23:35:38 <clepto> οκ
Jun 16 23:36:03 <simosx> Το origin/master είναι ο βασικός κορμός στην πηγή (orign) στο github.com, που έχεις βάλει το αποθετήριο.
Jun 16 23:36:17 <Dgkontopoulos> α, μάλιστα. οκ :)
Jun 16 23:36:43 <simosx> Αν κάνεις ένα commit μόνο τοπικά, θα δεις ότι το «master» θα ανέβει ένα παραπάνω (gitg) ενώ το origin/master θα παραμείνει εκεί που το είχες.
Jun 16 23:37:19 <simosx> τώρα είναι το σημείο για ερωτήσεις, οπότε ρωτήστε ό,τι θέλετε
Jun 16 23:37:53 <simosx> Το Github.com είναι τώρα ο μεγαλύτερος χώρος με αποθετήρια στο κόσμο, μεγαλύτερο και από τα SourceForge, code.google.com.
Jun 16 23:38:44 <clepto> εγώ δε έχω κάποια απορία, μπορεί με την χρήση του github να προκύψουν όμως...
Jun 16 23:38:54 <Dgkontopoulos> από ότι είδα, μπορείς να φτιάξεις και κλειστά αποθετήρια επί πληρωμή. Η ερώτηση είναι: μπορώ να έχω ένα κλειστό αποθετήριο για κάποιο διάστημα όσο προετοιμάζω την εφαρμογή και μετά να το ανοίξω;
Jun 16 23:39:18 * vasster_ (~vasilis@athedsl-127475.home.otenet.gr) has joined #ubuntu-gr-meetings
Jun 16 23:39:30 <simosx> Dgkontopoulos: μπορείς να διατηρείς το αποθετήριό σου μόνο στον υπολογιστή σου, και να κάνεις backup ζιπάροντας τον υποκατάλογο.
Jun 16 23:40:17 <simosx> Dgkontopoulos: όταν είσαι έτοιμος να εκδόσεις, τότε φτιάχνεις το νέο αποθετήριο στο github.com, και αλλάζεις στο αποθετήριό σου ώστε η πηγή να είναι πια το github.com. Και το στέλνεις εκεί.
Jun 16 23:40:45 <simosx> clepto: πες πως έκανες κατά λάθος ένα commit. Πως το αναιρείς;
Jun 16 23:41:06 <Dgkontopoulos> μάλιστα, οκ. Δεν έχω άλλες ερωτήσεις.
Jun 16 23:41:13 <clepto> περίμενε να σκεφτώ
Jun 16 23:41:14 <clepto> :Ρ
Jun 16 23:41:40 <simosx> Δοκιμάστε το εξής. Στα αποθετήριά σας, σβήστε τα αρχεία, το helloworld.pl και το README.
Jun 16 23:41:52 <simosx> clepto: σβήσε και εσύ τα αντίστοιχα αρχεία.
Jun 16 23:41:59 <simosx> Το ερώτημα, τα αρχεία τώρα έχουν χαθεί;
Jun 16 23:42:06 <clepto> εννοείς στο φάκελο ή στο github?
Jun 16 23:42:23 <simosx> εννοώ από τον τοπικό κλώνο, σβήνεις με rm README, κτλ.
Jun 16 23:42:48 <Dgkontopoulos> ακόμα θα υπάρχουν στο github, εφόσον δεν κάναμε push, λογικά.
Jun 16 23:42:52 <clepto> να φανταστώ ότι υπάρχουν στο github
Jun 16 23:42:56 <clepto> ναι
Jun 16 23:43:07 <simosx> τα αρχεία αποθετηρίου υπάρχει και τοπικά στο .git/*
Jun 16 23:43:14 <simosx> εκεί υπάρχει όλο το ιστορικό.
Jun 16 23:43:31 <simosx> Οπότε τώρα που σβήσατε τα αρχεία README, *.pl, κτλ, μπορείτε να
Jun 16 23:43:41 <simosx> Μπορείτε να τρέξετε git reset --hard
Jun 16 23:44:15 <simosx> όπου εξάγει τα αρχεία από το .git/* και τα εμφανίζει.
Jun 16 23:44:35 <clepto> ωραίο... :)
Jun 16 23:45:03 <simosx> Αν έχετε κάνει αλλαγές που βλέπετε ότι δεν πάνε πουθενά, μπορείτε με git reset --hard να τις αναιρέσετε και να γυρίσετε στο πιο πρόσφατο commit.
Jun 16 23:45:15 <Dgkontopoulos> πολύ χρήσιμο! :)
Jun 16 23:45:37 <simosx> Αυτά είναι τα βασικά με το git.
Jun 16 23:45:51 <Dgkontopoulos> Ευχαριστούμε πολύ για την παρουσίαση! :)
Jun 16 23:46:00 <simosx> ;-)
Jun 16 23:46:08 <clepto> thanks!!
Jun 16 23:47:05 <simosx> Όταν μαθαίνει κάποιος προγραμματισμό, είναι καλό να καταγράφει στο git.
Jun 16 23:47:18 <simosx> Και στο μέλλον μπορείς να δεις τι ακριβώς έκανες εκείνο τον καιρό που μάθαινες.
Jun 16 23:47:40 <simosx> Ελπίζω να ήταν χρήσιμα. Για τυχόν νέες ερωτήσεις, μπορούμε να συνεχίσουμε στο φόρουμ.
Jun 16 23:47:40 <clepto> και να γελας; :Ρ
Jun 16 23:47:48 <Dgkontopoulos> Πραγματικά μου λύνει τα χέρια. Ως τώρα δημιουργούσα διαφορετικά αρχεία κάθε φορά που έκανα σημαντικές αλλαγές και αν κάτι πήγαινε στραβά σύγκρινα τα αρχεία.
Jun 16 23:47:58 <clepto> και εγω
Jun 16 23:51:31 <clepto> αν γινεται να φροντισει καποιος για τα logs να τα βαλουμε στο forum
Jun 16 23:51:47 <clepto> για αυτους που δεν μπορεσαν να παραβρεθουν
Jun 16 23:52:14 <simosx> έχει όρεξη κανείς να βγάλει σημειώσεις με αυτά που κάναμε;
Jun 16 23:53:05 <clepto> εγώ δεν μπορώ...σόρρι...πρέπει να βγω!
Jun 16 23:53:09 <Dgkontopoulos> εγώ δυστυχώς είμαι σε περίοδο διαβάσματος και έλεγα να την κάνω σιγά σιγά...
Jun 16 23:53:10 <simosx> Μπορεί να προστεθεί στο viewtopic.php?f=9&t=5477
Jun 16 23:53:21 <Dgkontopoulos> αλλά αν δεν επείγεστε, μπορώ να το κάνω λίγο καιρό μετά
Jun 16 23:53:31 <simosx> δεν υπάρχει βιασύνη.
Jun 16 23:54:13 <Dgkontopoulos> οκ, τότε υπόσχομαι ότι μετά τις 2 Ιουλίου θα φτιάξω σημειώσεις από τα σημερινά
Jun 16 23:54:22 <simosx> πολύ ωραία!
Jun 16 23:54:54 <clepto> βγαίνω!σίμο ευχαριστούμε για το μάθημα!
Jun 16 23:55:30 <Dgkontopoulos> βγαίνω κι εγώ σιγά σιγά. Ευχαριστούμε πολύ!
Jun 16 23:56:39 * clepto has quit (Quit: Αποχώρησε)
Jun 16 23:56:48 * Dgkontopoulos has quit (Quit: Leaving)
Jun 16 23:58:47 * vasster_ (~vasilis@athedsl-127475.home.otenet.gr) has left #ubuntu-gr-meetings ("Leaving")
Jun 17 00:00:44 <Geochr> simosx: Σίμο το θέμα στο link παραπάνω είναι κλειδωμένο
Jun 17 00:01:02 <Geochr> το viewtopic.php?f=6&t=5424 είναι ανοιχτό
Jun 17 00:01:54 <simosx> Geochr: πράγματι.
Jun 17 00:02:33 <simosx> το πρώτο μάθημα έγινε πριν δύο χρόνια, Ιούνιο 2009, viewtopic.php?f=6&t=5424 ;-)
Jun 17 00:03:57 <Geochr> :-O
Jun 17 00:05:05 <Geochr> πάντως αυτό το μάθημα ήταν αρκετά αναλυτικό (το παρακολούθησα απλά λόγο γνώσεων δεν το ακολούθησα)