0Pricing
Git & GitHub Professional Workflow · Lekcja

Monorepo i podmoduły Git

Poznaj kompromisy między konfiguracją monorepo i multi-repo oraz dowiedz się, jak podmoduły Git osadzają jedno repozytorium w innym.

Monorepo i podmoduły Git to bezpłatna lekcja Git & GitHub Professional Workflow na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Git & GitHub Professional Workflow, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Git & GitHub Professional Workflow zawiera 4 lekcji w sumie.

Monorepo a multi-repo

Monorepo przechowuje wiele projektów w jednym repozytorium. Konfiguracja multi-repo umieszcza każdy projekt w osobnym repozytorium. Oba podejścia są często stosowane w dużych organizacjach.

Dlaczego zespoły wybierają monorepo

Monorepo ułatwia:

  • Współdzielenie kodu między projektami
  • Atomowe refaktoryzowanie kodu przekraczające granice projektów
  • Korzystanie z jednego CI i jednego schematu wersjonowania

Wyzwania związane z monorepo

Duże monorepo może znacznie urosnąć, spowalniając klonowanie i CI. Narzędzia takie jak sparse checkout i pamięci podręczne kompilacji pomagają nad tym zapanować.

Czym jest submoduł

Submoduł to osobne repozytorium Git osadzone w innym repozytorium przy konkretnym commicie. Zewnętrzne repozytorium śledzi, którego commita wewnętrznego repozytorium należy użyć.

Dodawanie submodułu

Osadź zewnętrzne repozytorium w określonej ścieżce za pomocą git submodule add.

git submodule add https://github.com/org/shared-lib libs/shared

Plik .gitmodules

Git zapisuje ścieżkę i URL każdego submodułu w śledzonym pliku .gitmodules w katalogu głównym repozytorium.

[submodule 'libs/shared']
  path = libs/shared
  url = https://github.com/org/shared-lib

Klonowanie z submodułami

Zwykłe klonowanie pozostawia foldery submodułów puste. Użyj flagi rekurencyjnej, aby również je pobrać.

git clone --recurse-submodules https://github.com/org/app

Inicjowanie istniejących submodułów

Jeśli repozytorium zostało już sklonowane, pobierz zawartość submodułów za pomocą init i update.

git submodule update --init --recursive

Aktualizowanie submodułu

Submoduły pozostają przypięte do commita. Aby przejść do najnowszej wersji, zaktualizuj go w jego katalogu, a następnie zatwierdź nowy wskaźnik w repozytorium nadrzędnym.

git submodule update --remote libs/shared
git add libs/shared
git commit -m 'Bump shared lib'

Submoduły a subtree

git subtree to alternatywa, która scala zawartość innego repozytorium bezpośrednio, eliminując złożoność przypiętego wskaźnika, ale pozbawiając ją wyraźnego oddzielenia.

Wybór podejścia

Użyj monorepozytorium dla ściśle powiązanych projektów, submodułów do osadzenia współdzielonej biblioteki o niezależnym wersjonowaniu, a wielu repozytoriów, gdy zespoły działają całkowicie niezależnie.

Szybki test

Sprawdź swoją wiedzę na temat monorepozytoriów i submodułów.

Podsumowanie

Dowiedziałeś się o monorepozytoriach i submodułach:

  • Monorepozytoria centralizują wiele projektów, a wiele repozytoriów rozdziela je
  • Submoduły osadzają repozytorium przypięte do commita za pomocą pliku .gitmodules
  • Klonuj za pomocą --recurse-submodules
  • Subtree to alternatywna strategia osadzania repozytoriów

Często zadawane pytania

Czy lekcja „Monorepo i podmoduły Git” jest bezpłatna?

Tak — pełny tekst „Monorepo i podmoduły Git” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Git & GitHub Professional Workflow, przejdź na CoddyKit PRO. Kurs Git & GitHub Professional Workflow zawiera 4 lekcji w sumie.

Co nauczysz się w „Monorepo i podmoduły Git”?

Poznaj kompromisy między konfiguracją monorepo i multi-repo oraz dowiedz się, jak podmoduły Git osadzają jedno repozytorium w innym. Ćwiczysz Git & GitHub Professional Workflow z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Git & GitHub Professional Workflow?

Nie wymagamy żadnego doświadczenia. Git & GitHub Professional Workflow w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.

Ile czasu zajmuje lekcja „Monorepo i podmoduły Git”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Git & GitHub Professional Workflow?

Tak. Każda lekcja Git & GitHub Professional Workflow zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Git w IDE i narzędziach programistycznych
  2. Git dla przedsiębiorstw
  3. Skalowanie Git dla dużych zespołów
  4. Monorepo i podmoduły Git
← Powrót do Git & GitHub Professional Workflow