Git Submodule
σας επιτρέπουν να ενσωματώσετε ένα αποθετήριο Git σε άλλο αποθετήριο Git ως υποκατάλογο. Αυτό είναι χρήσιμο όταν έχετε ένα έργο που εξαρτάται από μια βιβλιοθήκη ή εξωτερικό στοιχείο. Εδώ είναι ένας βασικός οδηγός για τον τρόπο χρήσης Git Submodule
:
Προσθήκη Submodule
Για να προσθέσετε ένα Submodule
στο τρέχον αποθετήριο, μεταβείτε στον ριζικό κατάλογο του αποθετηρίου και εκτελέστε την ακόλουθη εντολή:
git submodule add <URL_repository> <destination_path>
όπου <URL_repository>
είναι η διεύθυνση URL του αποθετηρίου που θέλετε να ενσωματώσετε και <destination_path>
είναι η διαδρομή προς τον υποκατάλογο του τρέχοντος αποθετηρίου για την αποθήκευση του Submodule
.
Κλώνος Submodule
Αφού προσθέσετε ένα Submodule
στο αποθετήριο, πρέπει να το κλωνοποιήσετε στο υπάρχον αποθετήριο. Για να κλωνοποιήσετε το Submodule
, εκτελέστε τις ακόλουθες εντολές:
git submodule init
git submodule update
Η git submodule init
εντολή αρχικοποιεί το Submodule
και δημιουργεί έναν σύνδεσμο προς το αποθετήριο που περιέχει το Submodule. Η git submodule update
εντολή κατεβάζει τον πηγαίο κώδικα του Submodule
και τον ενημερώνει στον αντίστοιχο υποκατάλογο
.
Δουλεύοντας με Submodule
Μόλις Submodule
κλωνοποιηθεί στο αποθετήριο, μπορείτε να εργαστείτε μαζί του ως ανεξάρτητο αποθετήριο Git. Μπορείτε να κάνετε ολοκλήρωση αγοράς, να κάνετε commits
και να σπρώξετε μέσα στο Submodule
.
Για να ενημερώσετε το Submodule στο υπάρχον αποθετήριο, εκτελέστε την εντολή:
git submodule update --remote
Αυτή η εντολή κατεβάζει τις τελευταίες αλλαγές από το Submodule
αποθετήριο και τις ενημερώνει στον αντίστοιχο υποκατάλογο.
Αφαιρώ Submodule
Εάν δεν χρειάζεστε πλέον το Submodule
, μπορείτε να το αφαιρέσετε εκτελώντας τις ακόλουθες εντολές:
git submodule deinit <submodule_name>
git rm <submodule_path>
Αντικαταστήστε <submodule_name>
με το όνομα του Submodule
και <submodule_path>
με τη διαδρομή προς τον υποκατάλογο που περιέχει το Submodule
. Στη συνέχεια, πρέπει να δεσμευτείτε και να προωθήσετε αυτήν την αλλαγή.
Git Submodule
σας βοηθά να διαχειριστείτε τις εξαρτήσεις και να ενσωματώσετε εύκολα υποαποθετήρια στο κύριο έργο σας. Σας επιτρέπει να διατηρείτε ξεχωριστό πηγαίο κώδικα για το Submodule
και να τον ενημερώνετε εύκολα όταν χρειάζεται.