Wprowadzenie
git-flow jest zbiorem rozszerzeń git dostarczającym wysokopoziomowe operacje na repozytorium, wspierającym strategię rozgałęziania opracowaną przez Vincenta Driessen'a. Czytaj więcej
★ ★ ★
Ta ściągawka prezentuje podstawy użycia operacji git-flow.
★ ★ ★
Podstawowe wskazówki
- Git flow dostarcza świetną pomoc z poziomu wiersza poleceń. Przeczytaj uważne, aby dostrzec co się wydarzy...
- Sourcetree - klient dla OSX/Windows, który jest wyśmienitą nakładką graficzną dla git wspierającą również git-flow.
- Git-flow bazuje na scalaniu. Nie używa rebase do integrowania zmian.
★ ★ ★
Konfiguracja
- Zanim zaczniesz potrzebujesz działającej instalacji git.
- Git flow działa na systemach OSX, Linux oraz Windows
★ ★ ★
OSX
Homebrew$ brew install git-flow-avhMacports
$ port install git-flow-avh
Linux
$ apt-get install git-flow
Windows (Cygwin)
$ wget -q -O - --no-check-certificate https://raw.github.com/petervanderdoes/gitflow-avh/develop/contrib/gitflow-installer.sh install stable | bash
Potrzebujesz wget oraz util-linux żeby zainstalować git-flow.
Szczegółową instrukcję instalacji git możesz znaleźć na git flow wiki.
Pierwsze kroki
Żeby dostosować ustawienia Twojego projektu, Git flow musi zostać zainicjalizowany.
★ ★ ★
Inicjalizacja
Rozpocznij używanie git-flow inicjalizując go w istniejącym repozytorium git:
git flow init
Będziesz musiał odpowiedzieć na kilka pytań dotyczących nazewnictwa gałęzi.
Zaleca się stosowanie wartości domyślnych.
Funkcjonalności
- Rozwój nowych funkcjonalności przyszłych wydań.
- Zazwyczaj istnieją tylko w repozytoriach deweloperów.
★ ★ ★
Rozpocznij nową funkcjonalność
Rozwój nowej funkcjonalności rozpoczyna się od gałęzi 'develop'.
Rozpocznij rozwój nowej funkcjonalności używając:
git flow feature start MYFEATURE
W ten sposób tworzysz gałąź dla nowej funkcjonalności bazując na gałęzi 'develop' jednocześnie się na nią przełączając.
Zakończ funkcjonalność
Zakończenie rozwoju funkcjonalności. Ta czynność spowoduje:
- Scalenie gałęzi MYFEATURE do 'develop'
- Usunięcie gałęzi funkcjonalności
- Przełączenie z powrotem do gałęzi 'develop'
git flow feature finish MYFEATURE
Opublikowanie funkcjonalności
Rozwijasz funkcjonalność w grupie?
Opublikuj funkcjonalność na serwerze zdalnym, dzięki czemu inni też będą jej mogli z niej korzystać.
git flow feature publish MYFEATURE
Pobieranie opublikowanej zmiany
Pobierz zmianę opublikowaną przez innego użytkownika.
git flow feature pull origin MYFEATURE
Możesz śledzić zmianę na serwerze źródłowym używając git flow feature track MYFEATURE
Utwórz wydanie
- Wspomaga przygotowanie nowego wydania produkcyjnego
- Pozwala na drobne poprawki błędów oraz przygotowanie metadanych dla wydania
★ ★ ★
Rozpocznij wydanie
Aby rozpocząć wydanie użyj polecenia git flow release. Zostanie stworzona gałąź wydania bazująca na gałęzi 'develop'.
git flow release start RELEASE [BASE]
Opcjonalnie w [BASE]
możesz podać skrót sha-1 zmiany od której chcesz rozpocząć wydanie. Zmiana
musi pochodzić z gałęzi 'develop'.
★ ★ ★
Mądrze jest opublikować gałąź wydania po tym jak się ją stworzy, umożliwiając dodawanie zmian do wydania innym deweloperom. Możesz tego dokonać analogicznie do opublikowania funkcjonalności:
git flow release publish RELEASE
(Używając polecenia git flow release track RELEASE
możesz śledzić zdalne wydanie)
Zakończ wydanie
Zakończanie wydania jest jednym z dużych kroków w rozgałęzianiu git. Realizuje ono szereg działań:
- Scala gałąź wydania do gałęzi 'master'
- Taguje wydanie jego nazwą
- Scala z powrotem gałąź wydania do gałęzi 'develop'
- Usuwa gałąź wydania
git flow release finish RELEASE
Nie zapomnij o wypchnięciu tagów poleceniem git push --tags
Poprawki
- Poprawki wynikają z konieczności podjęcia natychmiastowych działań wobec niepożądanego stanu działającej w wersji produkcyjnej
- Mogą rozgałęziać się od odpowiedniego tagu wskazującego wersję produkcyjną.
★ ★ ★
git flow hotfix start
Podobnie jak inne operacje git flow, poprawkę rozpoczyna się od
git flow hotfix start VERSION [BASENAME]
Parametr VERSION znakuje nazwę nowej poprawki. Opcjonalnie w BASENAME możesz podać nazwę gałęzi od której rozpoczniesz.
Zakończ poprawkę
Operacja kończenia poprawki scala poprawkę do gałęzi develop oraz master. Dodatkowo scalenie do gałęzi master jest tagowane wersją poprawki.
git flow hotfix finish VERSION
Końcowe uwagi
★ ★ ★
- Nie zostały tutaj opisane wszystkie dostępne polecenia, a jedynie te najważniejsze
- Możesz wciąż normalnie używać git oraz wszystkich jego poleceń tak jak to robiłeś do tej pory - git flow jest tylko zestawem dodatkowych narzędzi
- Funkcjonalność 'support' jest wciąż w fazie beta - użycie jej nie jest zalecane
- Jeśli chciałbyś dostarczyć poprawki do tego tłumaczenia, z chęcią je dołączę.
★ ★ ★