FOSS AUEB: Git

Εδώ μπορείτε να ενημερώνετε ή να ενημερώνεστε για τη διοργάνωση διαφόρων σεμιναρίων από φοιτητές.
User avatar
Funk
Venus Former Team Member
Posts: 1836
Joined: Wed Oct 06, 2010 10:29 pm
Gender:
Location: Korriban

FOSS AUEB: Git

Postby Funk » Fri Mar 06, 2015 10:31 am

Κατόπιν λαϊκής απαίτησης και υποστήριξης, το FOSS AUEB ανακοινώνει:

Πρώτο event για το 2015.

Τι θα δούμε:
  • Τι είναι το git
  • Πως χρησιμοποιείται το git & τι λειτουργίες προσφέρει
  • Πως βοηθάει στις ομαδικές εργασίες της σχολής

Την παρουσίαση θα κάνει ο Νίκος.
Στο τέλος θα υπάρχει χρόνος για συζήτηση και Q&A.

Ημερομηνία: Τρίτη 10/3/2015
Ώρα: 19:00 - 21:00
Αίθουσα: Υ



Be there :cheers:



Facebook Event - (s)
post @ foss.aueb.gr

ΥΓ: Οι συναντήσεις θα είναι εβδομαδιαίες, σε αυτή τη μέρα/ώρα/αίθουσα. :)
Educate yourself. In time· share what you have learned.
shrinked imageshrinked image
User avatar
nachos
Gbyte level
Gbyte level
Posts: 1252
Joined: Mon Aug 21, 2006 4:28 pm
Academic status: Alumnus/a
Gender:
Location: Brachamee City

Re: FOSS AUEB: Git

Postby nachos » Fri Mar 06, 2015 2:57 pm

Επιτέλους μια ώρα της προκοπής, count me in :-D
Nothing is impossible for the man who doesn't have to do it himself
User avatar
moody
Gbyte level
Gbyte level
Posts: 1082
Joined: Sun Oct 16, 2011 11:38 am
Gender:
Contact:

Re: FOSS AUEB: Git

Postby moody » Fri Mar 06, 2015 7:21 pm

Git gud
modie is balanced ¯\_(ツ)_/¯
User avatar
moody
Gbyte level
Gbyte level
Posts: 1082
Joined: Sun Oct 16, 2011 11:38 am
Gender:
Contact:

Re: FOSS AUEB: Git

Postby moody » Mon Mar 09, 2015 12:50 am

bump :smt025
modie is balanced ¯\_(ツ)_/¯
User avatar
frouk
Kilobyte level
Kilobyte level
Posts: 338
Joined: Wed Oct 16, 2013 6:39 pm
Academic status: 4th year
Gender:

Re: FOSS AUEB: Git

Postby frouk » Mon Mar 09, 2015 12:47 pm

"70 άτομα θα πάνε" gratz.

Δείξτε και πόσο εύκολο είναι να συνδεθεί κανείς στο irc για να βλέπει τα ωραία links που στέλνουν τα παιδιά και να ρωτάει-συζητάει ότι θέλει.
HAVE I ANSWERED YOUR QUESTIONS SATISFACTORILY AND OFFERED GOOD CUSTOMER SERVICE?!
User avatar
Funk
Venus Former Team Member
Posts: 1836
Joined: Wed Oct 06, 2010 10:29 pm
Gender:
Location: Korriban

Re: FOSS AUEB: Git

Postby Funk » Tue Mar 10, 2015 10:57 pm

Image
Ευχαριστούμε για την προσοχή σας :-D

Περιμένουμε feedback, όπως είπε και ο nachos, εδώ ή στο irc. Θυμίζω: https://foss.aueb.gr/irc/ - feel free να σπαμμάρετε ερωτήσεις, όσο "χαζές" και αν φοβάστε ότι είναι (όλοι ήταν κάποτε noobs).

Επίσης, αφού υπήρχε τόση συμμετοχή θα ανοίξει σύντομα νέο thread με σκοπό να προτείνετε εκεί θέματα τα οποία θα θέλατε να συζητήσουμε ή/και παρουσιάσουμε.
Ακόμη, εάν κάποιος θέλει να συμμετάσχει από την άλλη μεριά - παρουσιάζοντας κάτι με το οποίο έχει ασχοληθεί -, μπορεί να μπει στο irc να μιλήσουμε.

Τέλος, η επόμενη συνάντησή μας θα είναι -λογικά- την επόμενη Τρίτη, και μέχρι τότε θα έχει φτιαχτεί άλλο event στο αγαπημένο σας social network.
:smt023
Educate yourself. In time· share what you have learned.
shrinked imageshrinked image
User avatar
Jami
Venus Former Team Member
Posts: 1065
Joined: Mon Nov 01, 2010 7:17 pm
Academic status: Alumnus/a
Gender:

Re: FOSS AUEB: Git

Postby Jami » Tue Mar 10, 2015 11:21 pm

Σημειωσεις σχετικα με την σημερινη παρουσιαση.

Πρωτα βηματα για να χρησιμοποιησουμε το git:
Spoiler: εμφάνιση/απόκρυψη
Aρχικα εχουμε κατεβασει το προγραμμα git, το εχουμε εγκαταστησει και εχουμε φτιαξει λογαριασμο σε ενα site που κανει host git repositories, οπως github, bitbucket κλπ. Στη παρουσιαση χρησιμοποιουμε το github. Οσον αφορα τα projects της σχολης, χρειαζομαστε γενικα private repositories για να μην βλεπουν τριτοι τον κωδικα μας. Το github προσφερει δωρεαν αυτη τη δυνατοτητα με χρηση φοιτητικου λογαριασμου (για περισσοτερα δειτε εδω), ενω το bitbucket δινει free private repositories κατευθειαν με το κανονικο λογασιασμο, με maximum συνεργατες 5 ατομα.

Κατι που δεν ειπωθηκε σημερα, αλλα χρειαζεται αναγκαστικα να γινει ειναι μολις κατεβασουμε και εγκαταστησουμε το git, να παμε στην κονσολα και να δωσουμε τα στοιχεια μας, ωστε να ξερει το git ποιος χρηστης εχει κανει τι. Αν δεν το κανετε αυτο, και πατε να κανετε commit θα σας παραπονεθει το git.
Στη θεση του John Doe και johndoe@example.com βαζετε τα δικα σας στοιχεια.

Code: Select all

$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com


Use Case:
Εστω οτι υπαρχει ενας φακελος με το project που θελουμε να το gitαρουμε και περιεχει μεσα ενα αρχειο, το hello.java. Αφου ανοιξουμε γραμμη εντολων και πλοηγηθουμε με cd εντος του φακελου αυτου εκτελουμε τις παρακατω εντολες.

Git Workflow

Αρχικοποιηση git repository, αποθηκευση των αρχειων του project μας, συνδεση με github και upload του project. Αναλυτικα :
Spoiler: εμφάνιση/απόκρυψη
  • Δημιουργια repository για να αρχισει το tracking σε ενα φακελο (πχ ενος project)

    Code: Select all

    git init

  • Με την παρακατω εντολη μπορουμε να δουμε τι συμβαινει στο repository μας, ποια αρχεια ειναι στη φαση tracked και χρειαζεται να τα κανουμε commit.

    Code: Select all

    git status

  • Προσθηκη του αρχειου hello.java στη φαση που γινεται track.

    Code: Select all

    git add hello.java

  • Αποθηκευση των αλλαγων στο repository δινοντας και ονομα για να ξερουμε τι αλλαγη καναμε. Επειδη ειναι το πρωτο μας commit, απλα βαζουμε ενα τυπικο μηνυμα.

    Code: Select all

    git commit -m "Initial commit"

  • Με την παρακατω εντολη μπορουμε να δουμε το commit μας και γενικα ολα τα commits που εχουν γινει στο repository, πχ απο αλλους συνεργατες. Προς το παρον βλεπουμε μονο το δικο μας commit.

    Code: Select all

    git log


  • Συνδεση του τοπικου μας φακελου με το github. Στη θεση του link θα βαλετε το link απο το repository που εχετε φτιαξει στο github (οδηγιες για δημιουργια repo στο github εδω). Εδω εχουμε επιλεξει συνδεση με HTTPS, δειτε παρακατω για τους εναλλακτικους τροπους.

    Code: Select all

    git remote add origin https://github.com/user/repo.git

    Image
    Υπαρχουν διαφορες μεθοδοι, γενικα χρησιμοποιουνται οι HTTPS και SSH. Η διαφορα στον ενα με τον αλλο ειναι, οτι στον πρωτο θα ζητηθει στον χρηστη να δωσει username & password του github profile του, ενω στον αλλο δεν θα ζητηθει (γιατι θα εχει ο χρηστης σεταρει απο πριν την λειτουργια του ssh, οδηγιες μπορουν να βρεθουν εδω)

  • Ανεβασμα στο github του τοπικου μας repository. Θα ζητησει το username και κωδικο του github profile σας.

    Code: Select all

    git push origin master

Τωρα αν κανουμε refresh στο profile μας στο github θα δουμε και το αρχειο που θα εχει ανεβει!


Προσθηκη συνεργατη στο project, κατεβασμα του project στον υπολογιστη του συνεργατη, αποθηκευση μερικων αλλαγων και αποστολη στο github. Αναλυτικα:

Spoiler: εμφάνιση/απόκρυψη
  • Αρχικα πρεπει ο δημιουργος του project να δωσει προσβαση στο repository που εφτιαξε στο github λογαριασμο του συνεργατη του. Αυτο θα γινει μεσω του github site και οδηγιες μπορουν να βρεθουν εδω.
  • Αφου δοθει προσβαση στον συνεργατη, θα του ερθει και αντιστοιχο email που θα περιεχει link προς αυτο το repository. Προκειμενου να κατεβασει στον υπολογιστη του το repository, θα πρεπει να βρει το url που θα κανει clone.
    Image

    Αφου εχει βρει ο συνεργατης το link του repository, θα παει στην κονσολα του και με cd θα πλοηγηθει στον φακελο που θελει να μπει το project που θα κατεβασει και θα γραψει το ακολουθο, οπου στη θεση του link θα βαλει το δικο του.

    Code: Select all

    git clone https://github.com/user/repo.git

  • Τωρα πλεον εχει και ο συνεργατης τον κωδικα του project τοπικα στον υπολογιστη του. Μπορει να κανει αλλαγες με τα βηματα που περιγραφηκαν προηγουμενως [git add {file}, git commit -m "{message}"]

  • Για να ανεβασει τις αλλαγες του στο github και να μπορει να τις κατεβασει ο αρχικος χρηστης (ο χρηστης που εφτιαξε το repository), ο συνεργατης πρεπει να γραψει

    Code: Select all

    git push

  • Προκειμενου και ο αρχικος χρηστης (ο χρηστης που εφτιαξε το repository) να παρει τις αλλαγες που εκανε ο συνεργατης θα εκτελεσει την εντολη

    Code: Select all

    git pull

    Η παραπανω εντολη θα κατεβασει τις οποιες αλλαγες και αν δεν εχει πειραχτει καποια ιδια γραμμη, ξερει να κανει μονο του το merge, δηλαδη να ενωσει τις αλλαγες με το προηγουμενο αρχειο. Αν εντοπισει συγκρουση, δηλαδη εχει πειραχτει ιδια γραμμη και απο τους 2 συνεργατες, τοτε θα παραπονεθει με μηνυμα [automatic merge failed] και θα πρεπει να επιλυθει χειροκινητα, δηλαδη να ανοιχτει το αρχειο και να μεινουν μονο οι επιθυμητες αλλαγες, και να σβηστουν τα υπολοιπα που εχει φτιαξει το git για να βοηθησει στην επιλυση του conflict.
You do not have the required permissions to view the files attached to this post.

Return to “Διαλέξεις φοιτητών”

Who is online

Users browsing this forum: No registered users and 1 guest