2012-07-31 10:27:14 +02:00
git-flow-cheatsheet
===================
2012-08-05 14:19:48 +02:00
A cheatsheet on the usage of git flow, visit http://danielkummer.github.com/git-flow-cheatsheet/
GIT FLOW
========
2013-03-14 07:51:54 +01:00
Git extensions to provide high-level repository operations for Vincent Driessen's branching model. [Read more ](http://nvie.com/posts/a-successful-git-branching-model/ )
2012-08-05 14:19:48 +02:00
INIT:
2013-03-14 07:51:54 +01:00
```
2012-08-05 14:19:48 +02:00
$ git flow init
2013-03-14 07:51:54 +01:00
```
#### TRACK DEVELOP REMOTELY ON GITHUB:
2012-08-05 14:19:48 +02:00
2013-03-14 07:51:54 +01:00
```
2012-08-05 14:19:48 +02:00
$ git push origin develop
2013-03-14 07:51:54 +01:00
```
**FEATURES:**
2012-08-05 14:19:48 +02:00
Use to develop new features starting from the develop branch. Merge back into
develop branch waiting for a reasonable amount of features to be there before
declaring it a release.
2013-03-14 07:51:54 +01:00
```
2012-08-05 14:19:48 +02:00
$ git flow feature
$ git flow feature start < name >
$ git flow feature finish < name >
2013-03-14 07:51:54 +01:00
```
2012-08-05 14:19:48 +02:00
2013-03-14 07:51:54 +01:00
```
2012-08-05 14:19:48 +02:00
usage: git flow feature [list] [-v]
git flow feature start [-F] < name > [< base > ]
git flow feature finish [-rFk] < name | nameprefix >
git flow feature publish < name >
git flow feature track < name >
git flow feature diff [< name | nameprefix > ]
git flow feature rebase [-i] [< name | nameprefix > ]
git flow feature checkout [< name | nameprefix > ]
git flow feature pull < remote > [< name > ]
2013-03-14 07:51:54 +01:00
```
2012-08-05 14:19:48 +02:00
2013-03-14 07:51:54 +01:00
**RELEASES:**
2012-08-05 14:19:48 +02:00
Use to group together latest development (features) add a few finishing touches
if necessary and send to production. All last changes will merge back to master
and develop so new features will start from current release.
2013-03-14 07:51:54 +01:00
```
2012-08-05 14:19:48 +02:00
$ git flow release
$ git flow release start < release > [< base > ]
$ git flow release finish < release >
2013-03-14 07:51:54 +01:00
```
```
2012-08-05 14:19:48 +02:00
usage: git flow release [list] [-v]
git flow release start [-F] < version >
git flow release finish [-Fsumpk] < version >
git flow release publish < name >
git flow release track < name >
2013-03-14 07:51:54 +01:00
```
2012-08-05 14:19:48 +02:00
2013-03-14 07:51:54 +01:00
**HOTFIXES:**
2012-08-05 14:19:48 +02:00
Similar to releases but the hotfix branch starts off master to avoid unvoluntary
send to production of unwanted features that my be present in branches. The
quick fix must be used when an important bug arises in production which must be
fixed and can't wait for other features to be ready. It merges back to master
and develop.
2013-03-14 07:51:54 +01:00
```
2012-08-05 14:19:48 +02:00
$ git flow hotfix
$ git flow hotfix start < release > [< base > ]
$ git flow hotfix finish < release >
2013-03-14 07:51:54 +01:00
```
```
2012-08-05 14:19:48 +02:00
usage: git flow hotfix [list] [-v]
git flow hotfix start [-F] < version > [< base > ]
git flow hotfix finish [-Fsumpk] < version >
2013-03-14 07:51:54 +01:00
```