Repos zu einem Arbeitsbereich hinzufügen
Diese Anleitung zeigt, wie du einen Git-Checkout in einem Arbeitsbereich registrierst, ihn neu indizierst und wieder entfernst.
Repos sind an den Arbeitsbereich gebunden. Es gibt keine globale Registrierung und keinen eigenen Verknüpfungsschritt: Ein Repo hinzuzufügen und es in einen Arbeitsbereich zu legen sind derselbe Vorgang. Derselbe Checkout, in zwei Arbeitsbereichen registriert, wird zu zwei unabhängigen Zeilen mit zwei verschiedenen IDs — über Arbeitsbereiche hinweg ist die Identität eines Repos sein Dateisystempfad, nie seine ID.
Bevor du anfängst
Abschnitt betitelt „Bevor du anfängst“Ein Ordner lässt sich nur registrieren, wenn alle drei Punkte gelten:
- Er liegt in einem Git-Arbeitsbaum.
- Dieser Arbeitsbaum hat ein
origin-Remote. - Das
origin-Remote zeigt auf eine unterstützte Forge: github.com, gitlab.com oder bitbucket.org.
Alles andere wird bei der Registrierung mit einer ausdrücklichen Meldung abgelehnt: “Folder is not inside a git work tree.”, “No origin remote configured for this repository.” oder “The origin remote is not hosted on a supported forge (github.com, gitlab.com, bitbucket.org).”. Einen rein lokalen Modus gibt es nicht.
Die Forge wird vom Remote gelesen und am Repo gespeichert — du wählst sie nie selbst. Ein Arbeitsbereich kann Repos von allen drei gleichzeitig halten, und jedes wird über seine eigene API mit seinen eigenen Zugangsdaten angesprochen. Verschachtelte GitLab-Namespaces bleiben erhalten, deshalb wird gitlab.com/group/subgroup/project als Besitzer group/subgroup und Name project registriert.
Der Ordner muss außerdem auf der Maschine liegen, die cc_server hostet, in einem der --repo-roots-Verzeichnisse dieses Servers. Diese Zulassungsliste fällt standardmäßig auf das Home-Verzeichnis des Serverbenutzers zurück, und das Navigieren oberhalb einer Wurzel wird abgelehnt.
Einen Checkout registrieren
Abschnitt betitelt „Einen Checkout registrieren“- Öffne Einstellungen → Arbeitsbereich → Repositorys (
/workspaces/<id>/settings/workspace/repositories). - Klicke auf Repository hinzufügen.
Der Dialog ist ein navigierbarer Browser über das Dateisystem des Servers, nicht über deins. Der Ablauf ist auf Desktop, Web und Smartphone derselbe, weil ein nativer Ordnerdialog einen Ordner auf der falschen Maschine wählen würde.
- Navigiere innerhalb der konfigurierten Wurzeln des Servers. Ordner, die Git-Checkouts sind, sind gekennzeichnet.
- Hake beliebig viele davon an. Die Auswahl bleibt beim Navigieren erhalten, du kannst also Checkouts aus mehreren Ordnern sammeln.
- Registriere sie in einem Schwung.
Ein fehlgeschlagener Eintrag verwirft nie den Rest des Schwungs — du bekommst die angelegten IDs plus einen Fehler je Pfad für jeden, der abgelehnt wurde. Einen Pfad erneut zu registrieren, der in diesem Arbeitsbereich schon vorhanden ist, liefert das bestehende Repo zurück, statt ein Duplikat anzulegen.
Jedes registrierte Repo erscheint in der Liste mit seinem owner/name, einem Kennzeichen, das die Forge nennt, und seinem Pfad auf dem Server. GitHub-Repos zeigen außerdem den Avatar des Besitzers; die anderen Forges haben keine ableitbare URL für den Besitzer-Avatar, deshalb fallen sie auf Initialen zurück.
Das Forge-Kennzeichen zählt in einem gemischten Arbeitsbereich: Zwei Repos können auf verschiedenen Forges beide acme/web heißen, und sie verhalten sich unterschiedlich — was ein Review kann und wohin ein Link führt.
Was danach passiert
Abschnitt betitelt „Was danach passiert“Die Registrierung löst ein RepoAdded-Ereignis aus, das auf diesen Arbeitsbereich begrenzt ist, und startet damit die Pipeline index_code für diesen Checkout. Das füllt den Code-Graph, damit Suche und Auswirkungsanalyse etwas zu antworten haben.
Indiziert werden nur Dateien, deren Sprache eine mitgelieferte Grammatik hat (Dart, JavaScript, TypeScript, TSX, PHP, Python, Rust, Zig, C, C++, Go, Java, Ruby, C#, Swift, Kotlin, R, Assembly, MATLAB und Ada). Siehe Code mit dem Code-Graph suchen.
Ein Repo neu indizieren
Abschnitt betitelt „Ein Repo neu indizieren“Jede Zeile trägt eine Schaltfläche Code indizieren. Klicke sie, um die Indizierung für diesen Checkout erneut anzustoßen; während sie läuft, wird die Schaltfläche zur Fortschrittsanzeige mit erledigten Dateien gegenüber der Gesamtzahl, plus einer Steuerung zum Abbrechen. Ist sie fertig, wird daraus ein Häkchen mit der Symbolanzahl oder eine Warnung, wenn der Lauf fehlgeschlagen ist.
Repos umsortieren
Abschnitt betitelt „Repos umsortieren“Ziehe den Griff an einer Zeile. Die Reihenfolge, die du festlegst, ist die Reihenfolge, die jede Repo-Liste in der App zurückliest.
Den GitHub-Link korrigieren
Abschnitt betitelt „Den GitHub-Link korrigieren“Das Link-Symbol an einer Zeile öffnet einen Editor für den GitHub-Besitzer und den Repository-Namen des Repos — nützlich, wenn das Remote umbenannt oder übertragen wurde.
Ein Repo entfernen
Abschnitt betitelt „Ein Repo entfernen“- Öffne Einstellungen → Arbeitsbereich → Repositorys.
- Klicke auf das Papierkorb-Symbol der Zeile.
- Bestätige „Repository aus dem Arbeitsbereich entfernen?“
Der Dialog sagt, was er tut: „name wird aus diesem Arbeitsbereich entfernt. Die lokalen Dateien auf der Festplatte bleiben unberührt.“
Das Entfernen löscht die Repo-Zeile aus diesem Arbeitsbereich und räumt kaskadierend ihre Code-Graph-Zeilen ab — Symbole, Kanten, Dateien und Index-Checkpoints — dazu jede Repo-Freigabe je Mitglied, ihre Verknüpfungen zwischen Bereich und Repo und ihre Datensätze isolierter Checkouts. Derselbe Checkout, in einem anderen Arbeitsbereich registriert, ist eine unabhängige Zeile und bleibt unberührt. Die Worktrees auf der Platte, auf die diese Datensätze zeigten, baut das Löschen nicht ab.
Verwandte Anleitungen
Abschnitt betitelt „Verwandte Anleitungen“- Code mit dem Code-Graph suchen
- Agenten parallel ausführen
- GitHub-Integration einrichten
- Dein erster Arbeitsbereich