About
git-flow adalah ekstensi untuk menyediakan operasi repository tingkat lanjut untuk Vincent Driessen's branching model. more
★ ★ ★
Cheatsheet ini memberikan contoh dan hasil dari operasi dasar git-flow
★ ★ ★
Tips Dasar
- Git flow menyediakan bantuan command line beserta output yang lengkap. Silahkan baca dari sumber berikut...
- Untuk OSX/Windows Sourcetree adalah git gui yang sangat direkomendasikan karena menyediakan support untuk git-flow
- Git-flow merupakan merge based solution dan tidak melakukan rebase terhadap feature branches.
★ ★ ★
Setup
- Pastikan Anda sudah menginstall git
- Git flow dapat digunakan pada OSX, Linux dan 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
Anda membutuhkan wget dan util-linux untuk menginstall git-flow.
Untuk instruksi yang lebih detail, silahkan kunjungi git flow wiki.

Getting started
Git flow perlu diinisialisasi untuk meng-custom project Anda
★ ★ ★
Inisialisasi
Inisialisasi git-flow dilakukan didalam git repository yang sudah ada:
git flow init
Anda akan diminta untuk menjawab beberapa pertanyaan berkaitan dengan konvensi penamaan branch Anda.
Direkomendasikan untuk menggunakan nilai default.
Features
- Menggembangkan fitur baru untuk release selanjutnya
- Biasanya hanya ada pada repository developer
★ ★ ★
Mulai membuat fitur baru
Pengembangan fitur baru dimulai dari branch 'develop'
Untuk memulai pengembangan fitur baru gunakan:
git flow feature start MYFEATURE
Perintah ini akan membuat branch baru berdasarkan branch 'develop' dan berpindah ke branch tsb
Menyelesaikan fitur baru
Menyelesaikan fitur baru Perintah ini melakukan hal berikut
- Merge MYFEATURE ke 'develop'
- Menghapus feature branch
- Kembali ke branch 'develop'
git flow feature finish MYFEATURE
Publikasi fitur
Apakah pengembangan fitur dilakukan lebih dari 1 orang?
Publikasikan fitur Anda ke remote server agar dapat diakses oleh orang lain.
git flow feature publish MYFEATURE
Getting a published feature
Mendapatkan fitur yang telah dipublikasikan orang lain.
git flow feature pull origin MYFEATURE
Anda dapat men-track fitur pada origin menggunakan git flow feature track MYFEATURE
Make a release
- Membantu persiapan release produk baru
- Mempermudah minor bug fixes dan mempersiapkan meta-data untuk release
★ ★ ★
Start a release
Untuk me-release produk, gunakan perintah git-flow release untuk membuat branch release dari branch 'develop'
git flow release start RELEASE [BASE]
Anda dapat memilih untuk memberikan [BASE]
commit sha-1 hash untuk me-release. Commit harus dilakukan
pada branch 'develop'.
★ ★ ★
Direkomendasikan untuk mempublikasi branch release setelah dibuat agar developer lain dapat mengaksesnya. Gunakan perintah berikut untuk mempublikasi branch release:
git flow release publish RELEASE
(Anda dapat men-track remote release menggunakan perintah git flow release track RELEASE
Finish up a release
Menyelesaikan releas merupakan langkah besar dalam percabangan git. Hal yang dilakukan dalam proses ini adalah:
- Merge kembali branch release ke 'master'
- Memberikan tag pada release menggunakan namanya
- Back-merges release ke 'develop'
- Menghapus release branch
git flow release finish RELEASE
Jangan lupa untuk push tag Anda dengan git push --tags
Hotfixes
- Hotfix muncul dari kebutuhan untuk memperbaiki kondisi yang tidak diinginkan pada live product secepatnya
- Dapat dicabangkan berdasarakan tag pada master branch yang menandai versi produk
★ ★ ★
git flow hotfix start
Seperti perintah lain, hotfix dimulai dengan perintah:
git flow hotfix start VERSION [BASENAME]
Argumen versi menandai nama baru release hotfix. Anda dapat mememilih untuk [BASENAME] untuk memulai hotfix
Meneyelesaikan hotfix
Dengan selesainya hotfix, maka hotfix akan di-merge kembali ke develop da master. Kemudian merge master diberi tag sesuai dengan versi hotfix
git flow hotfix finish VERSION
Backlog
★ ★ ★
- Tidak semua perintah dijelaskan disini, hanya yang penting saja
- Anda tetap dapat menggunakan perintah git biasa. Hal ini karena git-flow hanyalah tooling collection
- Fitur 'support' masih dalam beta, sehingga tidak direkomendasikan untuk menggunakannya
- Jika ingin melakukan penerjemahan Saya akan sangat senang untuk mengintegrasikannya
★ ★ ★