Μετάβαση στο περιεχόμενο

Προσθήκη αποθετηρίων σε χώρο εργασίας

Αυτός ο οδηγός δείχνει πώς να καταχωρίσετε ένα Git checkout σε έναν χώρο εργασίας, να το ευρετηριάσετε ξανά και να το αφαιρέσετε.

Τα αποθετήρια έχουν εμβέλεια χώρου εργασίας. Δεν υπάρχει καθολικό μητρώο ούτε βήμα σύνδεσης: η προσθήκη ενός αποθετηρίου και η τοποθέτησή του σε έναν χώρο εργασίας είναι η ίδια ενέργεια. Το ίδιο checkout που καταχωρίζεται σε δύο χώρους εργασίας γίνεται δύο ανεξάρτητες γραμμές με δύο διαφορετικά αναγνωριστικά — μεταξύ χώρων εργασίας, η ταυτότητα ενός αποθετηρίου είναι η διαδρομή του στο σύστημα αρχείων, ποτέ το αναγνωριστικό του.

Ένας φάκελος μπορεί να καταχωριστεί μόνο αν ισχύουν και τα τρία παρακάτω:

  1. Βρίσκεται μέσα σε ένα δέντρο εργασίας git.
  2. Αυτό το δέντρο εργασίας έχει ένα απομακρυσμένο origin.
  3. Το απομακρυσμένο origin δείχνει σε ένα υποστηριζόμενο forge: github.com, gitlab.com ή bitbucket.org.

Οτιδήποτε άλλο απορρίπτεται τη στιγμή της καταχώρισης με ρητό μήνυμα: “Folder is not inside a git work tree.”, “No origin remote configured for this repository.” ή “The origin remote is not hosted on a supported forge (github.com, gitlab.com, bitbucket.org).”. Δεν υπάρχει λειτουργία μόνο τοπικά.

Το forge διαβάζεται από το απομακρυσμένο και αποθηκεύεται στο αποθετήριο — δεν το επιλέγετε ποτέ εσείς. Ένας χώρος εργασίας μπορεί να περιέχει αποθετήρια και από τα τρία ταυτόχρονα, και σε καθένα από αυτά γίνεται επικοινωνία μέσω του δικού του API με το δικό του διαπιστευτήριο. Οι ένθετοι χώροι ονομάτων του GitLab διατηρούνται, οπότε το gitlab.com/group/subgroup/project καταχωρίζεται με ιδιοκτήτη group/subgroup και όνομα project.

Ο φάκελος πρέπει επίσης να βρίσκεται στο μηχάνημα που φιλοξενεί το cc_server, μέσα σε έναν από τους καταλόγους --repo-roots αυτού του διακομιστή. Αυτή η λίστα επιτρεπόμενων έχει ως προεπιλογή τον αρχικό κατάλογο του χρήστη του διακομιστή και η περιήγηση πάνω από μια ρίζα απορρίπτεται.

  1. Ανοίξτε Ρυθμίσεις → Χώρος εργασίας → Αποθετήρια (/workspaces/<id>/settings/workspace/repositories).
  2. Κάντε κλικ στο Προσθήκη αποθετηρίου.

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

  1. Περιηγηθείτε στις ρυθμισμένες ρίζες του διακομιστή. Οι φάκελοι που είναι git checkouts επισημαίνονται.
  2. Επιλέξτε όσους θέλετε. Η επιλογή διατηρείται καθώς περιηγείστε, ώστε να μπορείτε να συγκεντρώσετε checkouts από πολλούς φακέλους.
  3. Καταχωρίστε τα σε μία παρτίδα.

Μια αποτυχημένη επιλογή δεν απορρίπτει ποτέ την υπόλοιπη παρτίδα — παίρνετε τα αναγνωριστικά που δημιουργήθηκαν συν ένα σφάλμα ανά διαδρομή για κάθε μία που απορρίφθηκε. Η εκ νέου καταχώριση μιας διαδρομής που υπάρχει ήδη σε αυτόν τον χώρο εργασίας επιστρέφει το υπάρχον αποθετήριο αντί να δημιουργήσει διπλότυπο.

Κάθε καταχωρισμένο αποθετήριο εμφανίζεται στη λίστα με το owner/name του, ένα σήμα με το forge του και τη διαδρομή του στον διακομιστή. Τα αποθετήρια GitHub εμφανίζουν επίσης το avatar του ιδιοκτήτη· τα άλλα forge δεν έχουν μαντεύσιμο URL avatar ιδιοκτήτη, οπότε καταλήγουν στα αρχικά.

Το σήμα του forge έχει σημασία σε έναν μικτό χώρο εργασίας: δύο αποθετήρια μπορούν να λέγονται και τα δύο acme/web σε διαφορετικά forge, και συμπεριφέρονται διαφορετικά — τι μπορεί να κάνει ένας έλεγχος και πού καταλήγει ένας σύνδεσμος.

Η καταχώριση εκπέμπει ένα συμβάν RepoAdded με εμβέλεια αυτού του χώρου εργασίας, το οποίο ξεκινά το pipeline index_code για αυτό το checkout. Αυτό είναι που τροφοδοτεί το γράφημα κώδικα, ώστε η αναζήτηση και η ανάλυση επιπτώσεων να έχουν κάτι να απαντήσουν.

Ευρετηριάζονται μόνο τα αρχεία των οποίων η γλώσσα έχει γραμματική που διανέμεται (Dart, JavaScript, TypeScript, TSX, PHP, Python, Rust, Zig, C, C++, Go, Java, Ruby, C#, Swift, Kotlin, R, Assembly, MATLAB και Ada). Δείτε Αναζήτηση κώδικα με το γράφημα κώδικα.

Κάθε γραμμή φέρει ένα κουμπί Ευρετηρίαση κώδικα. Κάντε κλικ για να εκτελέσετε ξανά τον ευρετηριαστή για αυτό το checkout· όσο εκτελείται, το κουμπί γίνεται ένδειξη προόδου που δείχνει τα αρχεία που ολοκληρώθηκαν προς το σύνολο, μαζί με έλεγχο ακύρωσης. Όταν τελειώσει, καταλήγει σε ένα σημάδι ελέγχου με τον αριθμό των συμβόλων ή σε μια προειδοποίηση αν η εκτέλεση απέτυχε.

Σύρετε τη λαβή σε μια γραμμή. Η σειρά που ορίζετε είναι η σειρά με την οποία διαβάζεται κάθε λίστα αποθετηρίων στην εφαρμογή.

Το εικονίδιο συνδέσμου σε μια γραμμή ανοίγει ένα πρόγραμμα επεξεργασίας για τον ιδιοκτήτη και το όνομα αποθετηρίου στο GitHub — χρήσιμο όταν το απομακρυσμένο μετονομάστηκε ή μεταφέρθηκε.

  1. Ανοίξτε Ρυθμίσεις → Χώρος εργασίας → Αποθετήρια.
  2. Κάντε κλικ στο εικονίδιο κάδου απορριμμάτων στη γραμμή.
  3. Επιβεβαιώστε «Αφαίρεση αποθετηρίου από τον χώρο εργασίας;».

Το παράθυρο διαλόγου λέει τι κάνει: «name θα αφαιρεθεί από αυτόν τον χώρο εργασίας. Τα τοπικά αρχεία στον δίσκο δεν θίγονται.»

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