Chapters ▾ 2nd Edition

A3.11 Appendix C: Εντολές Git - Διοίκηση

Διοίκηση

Εάν διαχειριζόμαστε ένα αποθετήριο Git ή χρειάζεται να διορθώσουμε κάποια πράγματα σε μεγάλη έκταση, το Git μάς παρέχει μια σειρά διοικητικών εντολών για να μας βοηθήσει.

git gc

Η εντολή git gc τρέχει μια “συλλογή σκουπιδιών” (“garbage collection”) στο αποθετήριό μας, αφαιρώντας τα μη σημαντικά αρχεία από την βάση δεδομένων και πακετάρει τα εναπομείναντα αρχεία σε μια πιο αποτελεσματική μορφή.

Αυτή η εντολή εκτελείται κανονικά στο παρασκήνιο για εμάς, αν και μπορούμε να την εκτελέσουμε χειροκίνητα εάν το επιθυμούμε. Μερικά παραδείγματα αυτού παρουσιάζονται στην ενότητα Συντήρηση.

git fsck

Η εντολή git fsck χρησιμοποιείται για να ελέγξει την εσωτερική βάση δεδομένων για προβλήματα ή ανακολουθίες.

Τη χρησιμοποιούμε μόνο μία φορά στην ενότητα Ανάκτηση δεδομένων για να αναζητήσουμε εκκρεμεί αντικείμενα (dangling objects).

git reflog

Η εντολή git reflog περνάει μέσα από ένα μητρώο στο οποίο καταγράφονται οι θέσεις των κεφαλών των κλάδων μας, ώστε να βρει υποβολές που ενδεχομένως έχουμε χάσει εξαιτίας επανεγγραφής του ιστορικού.

Καλύπτουμε αυτήν την εντολή κυρίως στην ενότητα RefLog Shortnames, όπου δείχνουμε την κανονική χρήση και πώς χρησιμοποιήσουμε το git log -g για να δούμε τις ίδιες πληροφορίες με αυτές που δίνει η έξοδος της git log.

Επίσης βλέπουμε ένα πρακτικό παράδειγμα ανάκτησης ενός τέτοιου χαμένου κλάδου στην ενότητα Ανάκτηση δεδομένων.

git filter-branch

Η εντολή git filter-branch χρησιμοποιείται για να ξαναγράψει πολλές υποβολές σύμφωνα με ορισμένα μοτίβα, όπως η αφαίρεση ενός αρχείου από παντού ή το φιλτράρισμα ολόκληρου του αποθετηρίου σε έναν μόνο υποκατάλογο για την εξαγωγή του έργου.

Στην ενότητα Αφαίρεση ενός αρχείου από κάθε υποβολή εξηγούμε την εντολή και εξερευνούμε διάφορες επιλογές όπως --commit-filter, --subdirectory-filter και --tree-filter.

Στην ενότητα Git-p4 τη χρησιμοποιούμε για να διορθώσουμε εισαγόμενα εξωτερικά αποθετήρια.