Εντολές για χρήση του git

git clone your_repo_url
Αντιγράφει το repository τοπικά στον υπολογιστή σας.

git status
Όταν αλλάξουμε κάποια αρχεία, γράφοντας αυτή την εντολή μας εμφανίζει ποια αρχεία έχουν αλλάξει.

git diff
Μας δείχνει αναλυτικά τι άλλαξε σε κάθε αρχείο.

git add -A
Η διαδικασία χρήσης του repository έχει ως εξης:
Όταν αλλάξουμε κάτι, θέλουμε να το προσθέσουμε στο repository έτσι ώστε να υπάρχει σαν history και να μπορούμε να το επαναφέρουμε. Η διαδικασία ξεκινά από αυτή την εντολή. Όταν γράψουμε αυτή την εντολή προστίθενται σε ένα ενδιάμεσο state τα αρχεία που αλλάξαμε που λέγεται 'stage'. Εδώ μπορούμε να διαλέξουμε ποια αρχεία αφορούν το συγκεκριμένο feature που θέλουμε να βάλουμε στο respository. Μπορούμε να βάλουμε μεμονωμένα αρχεία με την εντολή git add filename, να τα προσθέσουμε όλα με την εντολή git add -A ή να αφαιρέσουμε αρχεία από το stage (για να τα βάλουμε σε κάποιο άλλο 'commit').

git commit -m "commit message"
Με αυτή την εντολή φτιάχνουμε ένα σημείο στο repository όπου μπορούμε να το επαναφέρουμε ανά πάσα στιγμή. Καλό είναι τα commits να είναι συχνά και κομμένα ανάλογα το feature που αντιπροσωπεύουν κάθε φορά.

git push origin master
Ότι αλλαγές κάνουμε με τις εντολές git add και git commit, βρίσκονται τοπικά μέχρι να τις 'στείλουμε' στο remote repository και να το πάρουν και οι άλλοι. Με την εντολή git push origin master οι αλλαγές στέλντονται στο remote repository.

git pull origin master
Με αυτή την εντολή τραβάμε τοπικά ότι αλλαγή έχει γίνει από άλλους και έχει πάει στο remote repository.

git reset --hard
Με αυτή την εντολή σβήνουμε ότι αλλαγή έχουμε κάνει τοπικά σε οποιοδήποτε αρχείο και δεν έχει γίνει ακόμα commit ή add (δηλαδή δεν είναι σε διαδικασία stage). Να χρησιμοποιείται με προσοχή, ότι μπει στο repository με τη διαδικασία add και commit υπάρχει και μπορεί να γίνει επαναφορά του, πριν όμως από αυτή τη διαδικασία, οι αλλαγές μπορούν να χαθούν με αυτή την εντολή.

git remote -v
Στις παραπάνω εντολές push και pull βλέπουμε ότι υπάρχουν δύο ακόμη παραμέτροι. Το origin και το master. To origin αφορά το url που βρίσκεται το default remote repository, ενώ το master αφορά το default branch. Branch θα εξηγήσω παρακάτω τι είναι. Με την εντολή git remote -v μπορούμε να δούμε τα διαθέσιμα remote repositories (μπορεί να έχουμε παραπάνω από ένα). Μπορούμε να προσθέσουμε νέο remote με την εντολή git remote add kapoio_onoma url_remote_repository.

git log
Βλέπουμε περιληπτικά το ιστορικό του repository (τα commit messages και ένα unique hash number που δημιουργείται αυτόματα με κάθε commit).

git checkout hash_number
Με το hash number του commit και την παραπάνω εντολή, μπορούμε να κάνουμε rollback σε κάποια προηγούμενη version.

Branches
Συνηθίζεται να αναπτύσσεται κάθε feature στο δικό του branch. Branch είναι ένα copy του υπάρχοντος state του κώδικα. Αυτό γίνεται για να αναπτύσσονται ξεχωριστά και παράλληλα features και είναι ευκολότερο αφού ολοκληρωθούν, να γίνονται merge στο master branch.

Conflicts
Όταν αλλάξουμε ένα αρχείο και αυτό το αρχείο έχει επίσης αλλάξει από κάποιον άλλον και έχει γίνει push στο remote repositoty, όταν κάνουμε push μπορεί να δημιουργηθεί conflict (γιατί το αρχείο έχει αλλάξει από κάποιον άλλον και το έχουμε αλλάξει και εμείς με διαφορετικό τρόπο). Σε αυτή την περίπτωση το git κρατά και τις 2 versions και πρέπει να κάνουμε manually resolve το conflict (να ενώσουμε τις αλλαγές, σβήσουμε ότι δε χρειάζεται κλπ.).

Υπάρχουν κι άλλες εντολές και αρκετή "ελευθερία" στο τι μπορείς να κάνεις στο git, αλλά με τα παραπάνω μπορείτε να ξεκινήσετε να το χρησιμοποιείτε και να καλύψετε το βασικό functionality.

comments powered by Disqus