git-flow cheatsheet

gemaakt door Daniel Kummer

efficient branchen met behulp van git-flow door Vincent Driessen

vertalingen: English - Castellano - Brazilian Portugues - 繁體中文(Traditional Chinese) - 简体中文(Simplified Chinese) - 日本語 - Türkçe - 한국어(Korean) - Français - Italiano - Nederlands - Deutsch (German) - Català (Catalan) - Română (Romanian) - Ελληνικά (Greek) - Українська (Ukrainian) - Tiếng Việt (Vietnamese)

Over

git-flow is een set van git extensies voor high-level repository operaties voor Vincent Driessen's branching model. meer

★ ★ ★

Dit cheatsheet laat het basisgebruik en de effecten zien van git-flow operaties

★ ★ ★

Basistips

★ ★ ★

Installatie

★ ★ ★

OSX

Homebrew
$ brew install git-flow
Macports
$ port install git-flow

Linux

$ apt-get install git-flow

Windows (Cygwin)

$ wget -q -O - --no-check-certificate https://github.com/nvie/gitflow/raw/develop/contrib/gitflow-installer.sh | bash

Je hebt wget en util-linux nodig om git-flow te installeren.

Gedetailleerde installatie instructies voor git flow kun je vinden op degit flow wiki.

install git-flow

Aan de slag

Git flow moet geinitializeerd zijn om je project setup aan te passen.

★ ★ ★

Initializatie

Je kan git-flow initializeren door het volgende commando in een bestaande git repository uit te voeren:

git flow init

Je dient een paar vragen te beantwoorden over de naamgevingsconventies voor je branches.
Het is aanbevolen om de standaard waarden te gebruiken.

Features

★ ★ ★

Een nieuwe feature starten

Nieuwe features hebben de 'develop' branch als uitgangspunt.

Start met ontwikkelen van een nieuwe feature met

git flow feature start MYFEATURE

Deze actie maakt een nieuwe feature branch gebaseerd op 'develop' en schakelt over naar deze

Het afronden van een feature

Rond de ontwikkeling van een feature af. Deze actie voert de volgende stappen uit

  • Merge MYFEATURE in 'develop'
  • Verwijdert de feature branch
  • Schakelt terug naar de 'develop' branch
git flow feature finish MYFEATURE

Een feature publiceren

Ontwikkel je de feature samen met anderen?
Publiceer de feature branch dan naar de remote server zodat anderen deze branch ook kunnen gebruiken.

git flow feature publish MYFEATURE

Een gepubliceerde feature ophalen

Haal een door een andere ontwikkelaar gepubliceerde feature op.

git flow feature pull origin MYFEATURE

Je kan de wijzigingen op de feature bijhouden op de server door git flow feature track MYFEATURE uit te voeren

Een release maken

★ ★ ★

Een release starten

Om een release te starten, kun je het git flow release commando gebruiken. Dit

maakt een release branch aan gebaseerd op de 'develop' branch.

git flow release start RELEASE [BASE]

Je kan optioneel een [BASE] commit sha-1 hash toevoegen om de release hiervandaan te beginnen. Deze commit moet op de 'develop' branch aanwezig zijn.

★ ★ ★

Het is verstandig om de release branch te publiceren zodat andere ontwikkelaars hieraan kunnen meewerken. Dit lijkt op het publiceren van een feature branch:

git flow release publish RELEASE

(Je kan wijzigingen op de release branch bijhouden met het
git flow release track RELEASE commando)

Een release afronden

Een release afronden is een grote stap in git branchen. Het voert verschillende acties uit:

  • De release branch wordt terug in 'master' gemerged
  • De release wordt getagged met zijn naam
  • De release wordt terug in 'develop' gemerged
  • Verwijdert de release branch
git flow release finish RELEASE

Vergeet niet je tags te pushen met git push --tags

Hotfixes

★ ★ ★

git flow hotfix start

Zoals andere git flow commando's, een hotfix wordt gestart door

git flow hotfix start VERSION [BASENAME]

Het VERSION argument slaat op de nieuwe hotfix release naam. Optioneel kun je de BASENAME aangeven waarvandaan begonnen moet worden.

Een hotfix afronden

Het afronden van een hotfix zorgt ervoor dat deze zowel in develop als in master gemerged wordt. Aansluitend wordt de merge in de master getagged met de hotfix versie.

git flow hotfix finish VERSION

Commando's

git-flow commands

Backlog

★ ★ ★

★ ★ ★

comments powered by Disqus