Gå til innholdet

Legg til repoer i et arbeidsområde

Denne veiledningen viser hvordan du registrerer en Git-utsjekking i et arbeidsområde, indekserer den på nytt og fjerner den igjen.

Repoer er knyttet til arbeidsområdet. Det finnes ikke noe globalt register og ikke noe eget koblingstrinn: å legge til en repo og å plassere den i et arbeidsområde er samme handling. Den samme utsjekkingen registrert i to arbeidsområder blir to uavhengige rader med to forskjellige id-er — på tvers av arbeidsområder er identiteten til en repo filsystembanen, aldri id-en.

En mappe kan bare registreres hvis alle disse tre kravene er oppfylt:

  1. Den ligger inne i et git-worktre.
  2. Det worktreet har en origin-remote.
  3. origin-remoten peker på en støttet forge: github.com, gitlab.com eller bitbucket.org.

Alt annet avvises ved registrering med en eksplisitt melding: “Folder is not inside a git work tree.”, “No origin remote configured for this repository.” eller “The origin remote is not hosted on a supported forge (github.com, gitlab.com, bitbucket.org).”. Det finnes ingen modus kun for lokal bruk.

Forgen leses fra remoten og lagres på repoen — du velger den aldri selv. Et arbeidsområde kan inneholde repoer fra alle tre samtidig, og hver av dem kontaktes gjennom sitt eget API med sin egen legitimasjon. GitLabs nestede navnerom bevares, så gitlab.com/group/subgroup/project registreres med eier group/subgroup og navn project.

Mappen må også ligge på maskinen som kjører cc_server, inne i en av den serverens --repo-roots-kataloger. Denne tillatelseslisten er som standard hjemmekatalogen til serverbrukeren, og det avvises å bla over en rot.

  1. Åpne Innstillinger → Arbeidsområde → Arkiv (/workspaces/<id>/settings/workspace/repositories).
  2. Klikk Legg til arkiv.

Dialogen er en navigerbar filutforsker over filsystemet til serveren, ikke ditt eget. Flyten er den samme på skrivebord, nett og telefon, fordi en innebygd mappevelger ville velge en mappe på feil maskin.

  1. Naviger innenfor serverens konfigurerte røtter. Mapper som er git-utsjekkinger, merkes.
  2. Merk av så mange du vil. Utvalget beholdes mens du navigerer, så du kan samle utsjekkinger fra flere mapper.
  3. Registrer dem i én omgang.

Ett mislykket valg slipper aldri resten av omgangen — du får id-ene som ble opprettet, pluss én feil per bane for hver som ble avvist. Registrerer du en bane som allerede finnes i dette arbeidsområdet, returneres den eksisterende repoen i stedet for at det opprettes en duplikat.

Hver registrerte repo vises i listen med owner/name, et merke som oppgir forgen, og banen dens på serveren. GitHub-repoer viser også eierens avatar; de andre forgene har ingen URL for eieravatar som kan gjettes, så de faller tilbake til initialer.

Forge-merket har noe å si i et blandet arbeidsområde: to repoer kan begge hete acme/web på forskjellige forger, og de oppfører seg ulikt — hva en gjennomgang kan gjøre, og hvor en lenke går.

Registreringen utløser en RepoAdded-hendelse avgrenset til dette arbeidsområdet, og starter index_code-pipelinen for den utsjekkingen. Det er denne som fyller kodegrafen, slik at søk og konsekvensanalyse har noe å svare med.

Bare filer der språket har en grammatikk som følger med, indekseres (Dart, JavaScript, TypeScript, TSX, PHP, Python, Rust, Zig, C, C++, Go, Java, Ruby, C#, Swift, Kotlin, R, Assembly, MATLAB og Ada). Se Søk i kode med kodegrafen.

Hver rad har en Indekser kode-knapp. Klikk på den for å kjøre indeksereren på nytt for den utsjekkingen; mens den kjører, blir knappen en fremdriftsvisning som viser fullførte filer av totalen, med en avbryt-kontroll. Når den er ferdig, går den over til en hake med antall symboler, eller en advarsel hvis kjøringen mislyktes.

Dra i håndtaket på en rad. Rekkefølgen du angir, er rekkefølgen alle repolister i appen leser tilbake.

Lenkeikonet på en rad åpner et redigeringsfelt for GitHub-eieren og arkivnavnet til repoen — nyttig når remoten har fått nytt navn eller er overført.

  1. Åpne Innstillinger → Arbeidsområde → Arkiv.
  2. Klikk på søppelbøtteikonet på raden.
  3. Bekreft «Fjerne arkiv fra arbeidsområde?»

Dialogen sier hva den gjør: «name fjernes fra dette arbeidsområdet. De lokale filene på disk røres ikke.»

Fjerningen sletter reporaden fra dette arbeidsområdet og kaskaderer bort kodegrafrommene — symboler, kanter, filer og indekssjekkpunkter — i tillegg til alle repo-tilganger per medlem, område-repo-koblingene dens og postene om isolerte utsjekkinger. Den samme utsjekkingen som er registrert i et annet arbeidsområde, er en uavhengig rad og påvirkes ikke. Worktreer på disk som disse postene pekte på, rives ikke ned av slettingen.