Tworzenie oparte na gałęzi głównej
Poznaj model trunk-based development, krótkotrwałe gałęzie i feature flags jako lekką alternatywę dla Gitflow.
Tworzenie oparte na gałęzi głównej to bezpłatna lekcja DevOps Bootcamp 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 DevOps Bootcamp, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs DevOps Bootcamp zawiera 4 lekcji w sumie.
Czym jest Trunk-Based Development?
Trunk-based development to strategia pracy z gałęziami, w której wszyscy programiści bardzo często integrują małe zmiany w jednej wspólnej gałęzi (trunku, zwykle main).
Preferuje wiele małych scaleń zamiast długo żyjących gałęzi.
Dlaczego unikać długo żyjących gałęzi?
Gałęzie istniejące przez wiele tygodni znacznie oddalają się od main, powodując trudne scalania.
- Im dłużej istnieje gałąź, tym więcej konfliktów
- Ryzyko integracji pozostaje ukryte aż do końca
- Kolejki przeglądów kodu stają się bardzo długie
Krótkotrwałe gałęzie
W trunk-based development gałęzie istnieją od kilku godzin do jednego–dwóch dni, a następnie są scalane z powrotem. Należy utworzyć gałąź, wykonać skoncentrowaną pracę i szybko ją scalić.
git checkout -b add-login
# small focused change
git commit -m 'Add login button'
git push origin add-loginBezpośrednie commitowanie do trunka
Małe zespoły o niskim ryzyku czasami commitują bezpośrednio do main, korzystając z szybkiej bramki CI. Każdy commit musi zapewniać, że trunk pozostaje gotowy do wydania.
git checkout main
git pull --rebase
git commit -m 'Fix typo in footer'
git pushFlagi funkcji
Nieukończone funkcje są nadal scalane z trunkiem, ale pozostają ukryte za flagą funkcji do czasu ich ukończenia. Pozwala to oddzielić wdrożenie od wydania.
if (featureFlags.newCheckout) {
renderNewCheckout();
} else {
renderOldCheckout();
}Ciągła integracja jest obowiązkowa
Ponieważ wszyscy stale scalają zmiany z trunkiem, automatyczne testy uruchamiane przy każdym wypchnięciu są niezbędne, aby main pozostawał w stanie green i był gotowy do wdrożenia.
Trunk-based a Gitflow
Gitflow korzysta z wielu długo żyjących gałęzi (develop, release, feature). Trunk-based korzysta z jednej głównej gałęzi i niewielkich, krótkotrwałych gałęzi.
- Trunk-based pasuje do ciągłego dostarczania
- Gitflow pasuje do zaplanowanych wydań oznaczonych numerami wersji
Gałęzie wydaniowe jako wyjątek
Zespoły stosujące trunk-based mogą utworzyć krótkotrwałą gałąź wydaniową wyłącznie w celu ustabilizowania wersji, a następnie wybierać poprawki i stosować je z powrotem w tej gałęzi.
git checkout -b release/1.4 mainUtrzymywanie synchronizacji gałęzi
Przed scaleniem należy wykonać rebase krótkotrwałych gałęzi na najnowszy trunk, aby ograniczyć liczbę konfliktów.
git fetch origin
git rebase origin/mainSzybkie scalanie z powrotem
Gdy CI zakończy się pomyślnie, należy scalić krótkotrwałą gałąź i ją usunąć. Cykl rozpoczyna się ponownie od utworzenia świeżej gałęzi.
git checkout main
git merge --no-ff add-login
git branch -d add-loginKiedy wybrać trunk-based development
Wybierz trunk-based development, gdy często wdrażasz, masz sprawnie działające CI i chcesz uniknąć problemów ze scalaniem. Ta strategia naturalnie łączy się z ciągłym wdrażaniem.
Szybkie sprawdzenie
Sprawdź swoją wiedzę na temat trunk-based development.
Podsumowanie
Nauczyłeś się, na czym polega model trunk-based:
- Jeden wspólny trunk i wiele niewielkich, krótkotrwałych gałęzi
- Flagi funkcji ukrywają nieukończoną pracę
- Sprawne CI sprawia, że trunk jest zawsze gotowy do wydania
- Model ten różni się od długo żyjących gałęzi Gitflow
Często zadawane pytania
Czy lekcja „Tworzenie oparte na gałęzi głównej” jest bezpłatna?
Tak — pełny tekst „Tworzenie oparte na gałęzi głównej” 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 DevOps Bootcamp, przejdź na CoddyKit PRO. Kurs DevOps Bootcamp zawiera 4 lekcji w sumie.
Co nauczysz się w „Tworzenie oparte na gałęzi głównej”?
Poznaj model trunk-based development, krótkotrwałe gałęzie i feature flags jako lekką alternatywę dla Gitflow. Ćwiczysz DevOps Bootcamp 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ąć DevOps Bootcamp?
Nie wymagamy żadnego doświadczenia. DevOps Bootcamp 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 „Tworzenie oparte na gałęzi głównej”?
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 DevOps Bootcamp?
Tak. Każda lekcja DevOps Bootcamp 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
- Przepływ pracy z gałęziami funkcjonalności
- Wprowadzenie do przepływu Gitflow
- Rebasing a scalanie
- Tworzenie oparte na gałęzi głównej