ściągawka do git-flow

Autor: Daniel Kummer

sprawne rozgałęzianie z git-flow autorstwa Vincenta Driessen'a

tłumaczenia: English - Castellano - Brazilian Portugues - 繁體中文(Traditional Chinese) - 简体中文(Simplified Chinese) - 日本語 - Türkçe - 한국어(Korean) - Français - Italiano - Nederlands - Русский (Russian) - Deutsch (German) - Català (Catalan) - Română (Romanian) - Ελληνικά (Greek) - Українська (Ukrainian) - Tiếng Việt (Vietnamese) - Polski - العربية - Azərbaycanca (Azerbaijani)

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

★ ★ ★

Konfiguracja

★ ★ ★

OSX

Homebrew
$ brew install git-flow-avh
Macports
$ 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.

install git-flow

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

★ ★ ★

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

★ ★ ★

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

★ ★ ★

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

Polecenia

git-flow commands

Końcowe uwagi

★ ★ ★

★ ★ ★

comments powered by Disqus