Tovább a tartalomhoz

Repók hozzáadása munkaterülethez

Ez az útmutató bemutatja, hogyan regisztrálhat egy Git-checkoutot egy munkaterületbe, hogyan indexelheti újra, és hogyan távolíthatja el ismét.

A repók munkaterülethez kötöttek. Nincs globális nyilvántartás és nincs összekapcsolási lépés: egy repó hozzáadása és munkaterületbe helyezése ugyanaz a művelet. Ugyanaz a checkout két munkaterületen regisztrálva két független sorrá válik, két különböző azonosítóval — a munkaterületeken átnyúlóan egy repó identitása a fájlrendszerbeli útvonala, soha nem az azonosítója.

Egy mappa csak akkor regisztrálható, ha mindhárom feltétel teljesül:

  1. Egy git worktree belsejében van.
  2. Ennek a worktree-nek van egy origin remote-ja.
  3. Az origin remote egy támogatott kódhosztra mutat: github.com, gitlab.com vagy bitbucket.org.

Bármi más esetén a regisztráció egyértelmű üzenettel utasítja el: „Folder is not inside a git work tree.”, „No origin remote configured for this repository.” vagy „The origin remote is not hosted on a supported forge (github.com, gitlab.com, bitbucket.org).” Nincs csak helyben működő mód.

A kódhosztot a rendszer a remote-ból olvassa ki, és a repón tárolja — soha nem Ön választja ki. Egy munkaterület mindhárom kódhoszt repóit tartalmazhatja egyszerre, és mindegyikkel a saját API-ján, a saját hitelesítő adatával kommunikál. A GitLab beágyazott névterei megmaradnak, így a gitlab.com/group/subgroup/project tulajdonosként group/subgroup, névként project adatokkal regisztrálódik.

A mappának emellett a cc_server-t futtató gépen kell lennie, a szerver egyik --repo-roots könyvtárán belül. Ez az engedélyezett lista alapértelmezésben a szerverfelhasználó kezdőkönyvtára, és a gyökér fölé navigálást elutasítja.

  1. Nyissa meg a Beállítások → Munkaterület → Tárolók oldalt (/workspaces/<id>/settings/workspace/repositories).
  2. Kattintson a Tároló hozzáadása gombra.

A párbeszédablak a szerver fájlrendszerében tallózható böngésző, nem a sajátjában. A folyamat ugyanaz asztali gépen, weben és telefonon, mert egy natív mappaválasztó a rossz gépen választana mappát.

  1. Navigáljon a szerver beállított gyökerein belül. A git-checkoutokat tartalmazó mappák meg vannak jelölve.
  2. Jelöljön be belőlük tetszőleges számút. A kijelölés navigálás közben is megmarad, így több mappából is összegyűjtheti a checkoutokat.
  3. Regisztrálja őket egyetlen kötegben.

Egy sikertelen kijelölés soha nem ejti el a köteg többi tagját — megkapja a létrehozott azonosítókat, valamint útvonalanként egy hibát mindegyikhez, amelyet elutasított. Ha egy ezen a munkaterületen már létező útvonalat regisztrál újra, a meglévő repót kapja vissza ahelyett, hogy duplikátum jönne létre.

Minden regisztrált repó megjelenik a listában az owner/name értékével, a kódhosztját megnevező jelvénnyel és a szerveren lévő útvonalával. A GitHub-repók a tulajdonos avatarját is mutatják; a többi kódhoszt tulajdonos-avatar URL-je nem kitalálható, ezért azok a kezdőbetűkre esnek vissza.

A kódhosztjelvény vegyes munkaterületen számít: két repó is lehet acme/web néven, különböző kódhosztokon, és eltérően viselkednek — más, amit egy átnézés megtehet, és más, ahová egy hivatkozás vezet.

A regisztráció egy erre a munkaterületre hatókörözött RepoAdded eseményt vált ki, ami elindítja az index_code pipeline-t ehhez a checkouthez. Ez tölti fel a kódgráfot, így a keresésnek és a hatáselemzésnek lesz mire válaszolnia.

Csak azok a fájlok indexelődnek, amelyek nyelvéhez van szállított nyelvtan (Dart, JavaScript, TypeScript, TSX, PHP, Python, Rust, Zig, C, C++, Go, Java, Ruby, C#, Swift, Kotlin, R, Assembly, MATLAB és Ada). Lásd: Kód keresése a kódgráffal.

Minden soron van egy Kód indexelése gomb. Kattintson rá az adott checkout indexelőjének újrafuttatásához; amíg fut, a gomb folyamatjelzővé alakul, amely az elkészült és az összes fájl arányát mutatja, megszakítás vezérlővel. Amikor befejeződik, egy pipába rendeződik a szimbólumok számával, vagy figyelmeztetéssé, ha a futás sikertelen volt.

Húzza el egy sor fogantyúját. A beállított sorrend az, amit az alkalmazás minden repólistája visszaolvas.

A soron lévő hivatkozásikon megnyit egy szerkesztőt a repó GitHub-tulajdonosához és tárolónevéhez — hasznos, ha a remote-ot átnevezték vagy áttelepítették.

  1. Nyissa meg a Beállítások → Munkaterület → Tárolók oldalt.
  2. Kattintson a soron lévő kukaikonra.
  3. Erősítse meg: „Eltávolítja a tárolót a munkaterületről?”

A párbeszédablak megmondja, mit tesz: „A(z) name el lesz távolítva ebből a munkaterületből. A lemezen lévő helyi fájlokhoz nem nyúl.”

Az eltávolítás törli a repó sorát ebből a munkaterületből, és kaszkádolva eltünteti a kódgráf sorait — szimbólumok, élek, fájlok és indexelési checkpointok —, valamint a repón lévő összes tagonkénti repó-jogosultságot, a tér–repó kapcsolatait és az elszigetelt checkout rekordjait. Ugyanaz a checkout egy másik munkaterületen regisztrálva független sor, és nem érinti semmi. A lemezen lévő worktree-k, amelyekre ezek a rekordok mutattak, nem szűnnek meg a törléstől.