Aggiungi repo a uno spazio di lavoro
Questa guida mostra come registrare un checkout Git in uno spazio di lavoro, reindicizzarlo e rimuoverlo di nuovo.
I repo hanno ambito di spazio di lavoro. Non esiste un registro globale né un passaggio di collegamento: aggiungere un repo e inserirlo in uno spazio di lavoro sono lo stesso atto. Lo stesso checkout registrato in due spazi di lavoro diventa due righe indipendenti con due id diversi — tra spazi di lavoro, l’identità di un repo è il suo percorso nel file system, mai il suo id.
Prima di iniziare
Sezione intitolata “Prima di iniziare”Una cartella può essere registrata solo se valgono tutte e tre queste condizioni:
- Si trova dentro un work tree git.
- Quel work tree ha un remote
origin. - Il remote
originpunta a un host di codice supportato: github.com, gitlab.com o bitbucket.org.
Qualunque altra cosa viene rifiutata al momento della registrazione con un messaggio esplicito: “Folder is not inside a git work tree.”, “No origin remote configured for this repository.” oppure “The origin remote is not hosted on a supported forge (github.com, gitlab.com, bitbucket.org).”. Non esiste una modalità solo locale.
L’host di codice viene letto dal remote e memorizzato sul repo — non lo scegli mai. Uno spazio di lavoro può contenere repo di tutti e tre contemporaneamente, e con ciascuno si comunica tramite la propria API con la propria credenziale. I namespace annidati di GitLab vengono preservati, quindi gitlab.com/group/subgroup/project viene registrato con proprietario group/subgroup e nome project.
La cartella deve inoltre trovarsi sulla macchina che ospita cc_server, dentro una delle directory --repo-roots di quel server. Questa lista di autorizzazione per impostazione predefinita è la home directory dell’utente del server, e la navigazione al di sopra di una root viene rifiutata.
Registra un checkout
Sezione intitolata “Registra un checkout”- Apri Impostazioni → Spazio di lavoro → Repository (
/workspaces/<id>/settings/workspace/repositories). - Fai clic su Aggiungi repository.
La finestra di dialogo è un browser navigabile sul file system del server, non sul tuo. Il flusso è lo stesso su desktop, web e telefono, perché un selettore di cartelle nativo sceglierebbe una cartella sulla macchina sbagliata.
- Naviga tra le root configurate del server. Le cartelle che sono checkout git sono contrassegnate.
- Seleziona quante ne vuoi. La selezione resta valida mentre navighi, così puoi raccogliere checkout da più cartelle.
- Registrale in un unico batch.
Una selezione non riuscita non fa mai cadere il resto del batch — ottieni gli id che sono stati creati più un errore per percorso per ogni voce rifiutata. Registrare di nuovo un percorso già presente in questo spazio di lavoro restituisce il repo esistente invece di crearne un duplicato.
Ogni repo registrato compare nell’elenco con il suo owner/name, un badge che ne indica l’host di codice e il suo percorso sul server. I repo GitHub mostrano anche l’avatar del proprietario; gli altri host di codice non hanno un URL dell’avatar del proprietario ricavabile, quindi ripiegano sulle iniziali.
Il badge dell’host di codice conta in uno spazio di lavoro misto: due repo possono chiamarsi entrambi acme/web su host di codice diversi, e si comportano in modo diverso — cosa può fare una revisione e dove porta un link.
Cosa succede dopo
Sezione intitolata “Cosa succede dopo”La registrazione emette un evento RepoAdded con ambito su questo spazio di lavoro, che avvia la pipeline index_code per quel checkout. È questo che popola il grafo del codice, così la ricerca e l’analisi d’impatto hanno qualcosa con cui rispondere.
Vengono indicizzati solo i file la cui lingua ha una grammatica distribuita (Dart, JavaScript, TypeScript, TSX, PHP, Python, Rust, Zig, C, C++, Go, Java, Ruby, C#, Swift, Kotlin, R, Assembly, MATLAB e Ada). Vedi Cerca codice con il grafo del codice.
Reindicizza un repo
Sezione intitolata “Reindicizza un repo”Ogni riga presenta un pulsante Indicizza codice. Fai clic per rieseguire l’indicizzatore per quel checkout; mentre è in esecuzione, il pulsante diventa un’indicazione di avanzamento che mostra i file completati sul totale, con un controllo per annullare. Al termine si assesta su una spunta con il numero di simboli, oppure su un avviso se l’esecuzione non è riuscita.
Riordina i repo
Sezione intitolata “Riordina i repo”Trascina la maniglia su una riga. L’ordine che imposti è quello con cui vengono letti tutti gli elenchi dei repo nell’app.
Correggi il link GitHub
Sezione intitolata “Correggi il link GitHub”L’icona del link su una riga apre un editor per il proprietario GitHub e il nome della repository di quel repo — utile quando il remote è stato rinominato o trasferito.
Rimuovi un repo
Sezione intitolata “Rimuovi un repo”- Apri Impostazioni → Spazio di lavoro → Repository.
- Fai clic sull’icona del cestino sulla riga.
- Conferma «Rimuovere la repository dallo spazio di lavoro?»
La finestra di dialogo dice cosa fa: «name sarà rimosso da questo spazio di lavoro. I file locali su disco non saranno modificati.»
La rimozione elimina la riga del repo da questo spazio di lavoro e cancella a cascata le sue righe del grafo del codice — simboli, archi, file e checkpoint di indicizzazione — oltre a ogni autorizzazione per membro su quel repo, ai suoi collegamenti spazio-repo e ai suoi record di checkout isolati. Lo stesso checkout registrato in un altro spazio di lavoro è una riga indipendente e non viene toccato. I worktree su disco a cui quei record puntavano non vengono smontati dall’eliminazione.
Guide correlate
Sezione intitolata “Guide correlate”- Cerca codice con il grafo del codice
- Esegui agenti in parallelo
- Configura l’integrazione GitHub
- Il tuo primo spazio di lavoro