GitKraken Desktop Documentation

Downloads  
Contact support  
Feedback  
GitKraken.com  
GitKraken Status  

Gitflow

Gitflow is a list of rules to keep a repo’s history organized, and is used to make the release process, bug fixes, and feature creation easier.


Configuration

First initialize Gitflow in Preferences Gitflow and change the default branch names if desired.

Once initialized, two branches will always be present: master (The version in production) and develop (The version currently in development for the next release).

Changes are merged into these branches. If you do not currently have these branches in your local repository, GitKraken Desktop will create them when Gitflow is initialized.


Usage

With Gitflow initialized in your repo, you will get an additional menu in the left panel. Start or finish any of your Gitflow branches here.

Create new Gitflow branches by clicking the green button on the Gitflow menu on the left.

Or whenever you add a branch, include the prefix for the Gitflow branch type i.e.
feature/branch-name. Any branches that do not have the prefix, will be displayed in the local
repository section, but not in the Gitflow menu.

Note: Gitflow has the benefit of adding all features, hot-fixes, and release branches in different folders.

Gitflow branches can be pushed to a remote which is the same as ‘Publishing‘ the Gitflow object in the command line.

Feature

Feature branches are used for new features or bug fixes. They typically exist only in local repos and aren’t shared with others.

When finishing a feature branch, GitKraken Desktop will merge the feature branch into develop, and delete the feature branch from the local repository.

You also have the option to rebase the feature branch on top of develop.

Release

Releases are major and minor versions of your product. They’re often shared with other collaborators working on the same version.

When finishing a release, the release branch is merged into both master and develop branches. This creates a tag with the release name for future reference.

Hotfix

Hotfixes are the same as Releases in Gitflow, except hotfix branches are created on top of master, while release branches are created on top of develop.

Hotfixes are for quickly pushing out a change to your production branch. Common examples of hotfixes are fixing typos, and bugs that need to be pushed out as soon as possible to production.

When finishing a hotfix, GitKraken Desktop will merge the changes into both master and develop.

Tag

Tags are used to mark a specific point in the repository’s history. They are often used to mark a release.

Tags can be created from the Gitflow menu, or from the command line. When creating a tag from the Gitflow menu, GitKraken Desktop will create a tag with the same name as the branch. For example, if you create a tag from a release/1.0.0 branch, GitKraken Desktop will create a tag named 1.0.0. Additionally, you can add a tag message when finishing a branch. This message will be added to the tag.

In Preferences > Gitflow, you can set a tag prefix. This prefix will be added to the tag name when creating a tag from the Gitflow menu. For example, if you set the tag prefix to v, and create a tag from a release/1.0.0 branch, GitKraken Desktop will create a tag named v1.0.0.

Have feedback about this article? Did we miss something? Let us know!
On this page