Przejdź do głównej zawartości

Dodaj repozytoria do obszaru roboczego

Ten poradnik pokazuje, jak zarejestrować kopię roboczą Git w obszarze roboczym, zindeksować ją ponownie i usunąć.

Repozytoria należą do obszaru roboczego. Nie ma globalnego rejestru ani osobnego kroku łączenia: dodanie repozytorium i umieszczenie go w obszarze roboczym to jedno i to samo działanie. Ta sama kopia robocza zarejestrowana w dwóch obszarach roboczych staje się dwoma niezależnymi wierszami o dwóch różnych identyfikatorach — między obszarami roboczymi tożsamością repozytorium jest jego ścieżka w systemie plików, nigdy jego identyfikator.

Folder można zarejestrować tylko wtedy, gdy spełnione są wszystkie trzy warunki:

  1. Znajduje się w drzewie roboczym gita.
  2. To drzewo robocze ma zdalne repozytorium origin.
  3. Zdalne repozytorium origin wskazuje na obsługiwaną forge: github.com, gitlab.com lub bitbucket.org.

Wszystko inne jest odrzucane już przy rejestracji, z jednoznacznym komunikatem: „Folder is not inside a git work tree.”, „No origin remote configured for this repository.” lub „The origin remote is not hosted on a supported forge (github.com, gitlab.com, bitbucket.org).”. Nie istnieje tryb wyłącznie lokalny.

Forge jest odczytywana ze zdalnego repozytorium i zapisywana przy repozytorium — nigdy nie wybierasz jej samodzielnie. Obszar roboczy może jednocześnie zawierać repozytoria ze wszystkich trzech, a z każdą rozmawiamy przez jej własne API i własne poświadczenie. Zagnieżdżone przestrzenie nazw GitLaba są zachowywane, więc gitlab.com/group/subgroup/project rejestruje się jako właściciel group/subgroup i nazwa project.

Folder musi też znajdować się na maszynie hostującej cc_server, w jednym z katalogów --repo-roots tego serwera. Ta lista dozwolonych domyślnie wskazuje katalog domowy użytkownika serwera, a nawigowanie powyżej korzenia jest odrzucane.

  1. Otwórz Ustawienia → Obszar roboczy → Repozytoria (/workspaces/<id>/settings/workspace/repositories).
  2. Kliknij Dodaj repozytorium.

Okno dialogowe to przeglądarka systemu plików serwera, po której można nawigować — nie Twojego. Ten sam przebieg obowiązuje na komputerze, w sieci i na telefonie, bo natywny wybór folderu wskazałby folder na niewłaściwej maszynie.

  1. Nawiguj w obrębie skonfigurowanych korzeni serwera. Foldery będące kopiami roboczymi gita są oznaczane.
  2. Zaznacz dowolną liczbę z nich. Wybór zachowuje się podczas nawigowania, więc możesz zebrać kopie robocze z kilku folderów.
  3. Zarejestruj je w jednej partii.

Jedno nieudane wskazanie nigdy nie porzuca reszty partii — otrzymujesz utworzone identyfikatory oraz błąd dla każdej odrzuconej ścieżki. Ponowna rejestracja ścieżki, która już istnieje w tym obszarze roboczym, zwraca istniejące repozytorium, zamiast tworzyć duplikat.

Każde zarejestrowane repozytorium pojawia się na liście ze swoim owner/name, plakietką z nazwą forge oraz swoją ścieżką na serwerze. Repozytoria GitHub pokazują też awatar właściciela; pozostałe forge nie mają adresu URL awatara właściciela, którego można by się domyślić, więc wracają do inicjałów.

Plakietka forge ma znaczenie w mieszanym obszarze roboczym: dwa repozytoria mogą na różnych forge nazywać się acme/web i zachowują się inaczej — inaczej wygląda to, co może zrobić recenzja, i to, dokąd prowadzi link.

Rejestracja wyzwala zdarzenie RepoAdded w zakresie tego obszaru roboczego, które uruchamia potok index_code dla tej kopii roboczej. To właśnie wypełnia graf kodu, dzięki czemu wyszukiwanie i analiza wpływu mają na co odpowiadać.

Indeksowane są tylko pliki, których język ma dostarczoną gramatykę (Dart, JavaScript, TypeScript, TSX, PHP, Python, Rust, Zig, C, C++, Go, Java, Ruby, C#, Swift, Kotlin, R, Assembly, MATLAB i Ada). Zobacz Szukaj kodu w grafie kodu.

Każdy wiersz ma przycisk Indeksuj kod. Kliknij go, aby ponownie uruchomić indekser dla tej kopii roboczej; podczas działania przycisk staje się wskaźnikiem postępu pokazującym liczbę przetworzonych plików względem wszystkich, ze sterowaniem anulowaniem. Po zakończeniu zmienia się w znacznik potwierdzenia z liczbą symboli albo w ostrzeżenie, jeśli uruchomienie się nie powiodło.

Przeciągnij uchwyt w wierszu. Ustawiona kolejność to kolejność, w jakiej odczytywana jest każda lista repozytoriów w aplikacji.

Ikona linku w wierszu otwiera edytor właściciela i nazwy repozytorium na GitHubie — przydatne, gdy zdalne repozytorium zmieniło nazwę lub zostało przeniesione.

  1. Otwórz Ustawienia → Obszar roboczy → Repozytoria.
  2. Kliknij ikonę kosza w wierszu.
  3. Potwierdź „Usunąć repozytorium z obszaru roboczego?”.

Okno dialogowe mówi, co robi: „name zostanie usunięty z tego obszaru roboczego. Lokalne pliki na dysku nie zostaną dotknięte.”

Usunięcie kasuje wiersz repozytorium z tego obszaru roboczego i kaskadowo usuwa jego wiersze w grafie kodu — symbole, krawędzie, pliki i punkty kontrolne indeksu — a także wszystkie uprawnienia do tego repozytorium dla poszczególnych członków, jego powiązania przestrzeni z repozytorium oraz zapisy jego izolowanych kopii roboczych. Ta sama kopia robocza zarejestrowana w innym obszarze roboczym to niezależny wiersz i pozostaje nienaruszona. Worktree na dysku, na które wskazywały te zapisy, nie są usuwane przez tę operację.