You will be prompted for the project-specific settings during ``git flow init``.

If you have the original `git-flow <https: github.com="" nvie="" gitflow="">` installed, just go to the git bin folder and delete everything that starts with ``git-flow``.

Integration with your shell---------------------------

For those who use the `Bash <http: www.gnu.org="" software="" bash=""/>`_ or`ZSH <http: www.zsh.org="">`_ shell, please check out the excellent workon the`git-flow-completion <http: github.com="" bobthecow="" git-flow-completion="">`_project by `bobthecow <http: github.com="" bobthecow="">`_. It offerstab-completion for all git-flow subcommands and branch names.

Please note that some subcommands have changed in this gitflow fork, so it isquestionable if the completions still make sense.

Please help out===============

This project is still under development. Feedback and suggestions arevery welcome and I encourage you to use the `Issues list<http: github.com="" salsita="" gitflow="" issues="">`_ on Github to provide thatfeedback.

Feel free to fork this repo and to commit your additions. For a listof all contributors, please see the :file:`AUTHORS.txt`.

You will need :module:`unittest2` to run the tests (which are completely broken as of now, so nevermind).

On the cutting edge===================

The source code here on GitHub is the one that has been code reviewed.If you, however, wish to try the changes that are still yet to be reviewed,you can visit `Gerrit <https: dev.salsitasoft.com="" gerrit="" #="" q="" status:open+project:gitflow,n,z="">`_and checkout the commit you want to try/test. If that is the case, we advice you to:

#. Use `virtualenv <https: pypi.python.org="" pypi="" virtualenv="">`_ to create the testing environment.#. Once the environment is activated, get the commit you want:

#. ``mkdir src && cd src`` #. ``git init`` #. Go to the commit page in Gerrit, get the exact command to execute, e.g. ``git fetch https://dev.salsitasoft.com/gerrit/gitflow refs/changes/02/2/1 && git checkout FETCH_HEAD`` #. ``python setup.py install`` #. The git flow commands should be available to you now, just make sure you are using the right one (``man which``)

License terms==================

git-flow is published under the liberal terms of the BSD License, seethe :file:`LICENSE.txt`. Although the BSD License does notrequire you to share any modifications you make to the source code,you are very much encouraged and invited to contribute back yourmodifications to the community, preferably in a Github fork, ofcourse.

git flow usage==============

Initialization--------------

**Before you start, make sure that you are using SSH for communication with origin.**

To initialize a new repo with the basic branch structure, use::

git flow init [-d]

This will then interactively prompt you with some questions on whichbranches you would like to use as development and production branches,and how you would like your prefixes be named. You may simply pressReturn on any of those questions to accept the (sane) defaultsuggestions.

The ``-d`` flag will accept all defaults.

Note: Please use the ``-d`` flag it will make your life much easier.

init will also check your git config to see if the required records forReview Board and Pivotal Tracker are in place, failing if that is not the case.

``feature start`` will list unstarted & started stories from current & backlog iterations in Pivotal Tracker. Select one and its state will change to `started`. This command creates a feature branch as well, so switch between stories using ``git checkout``, not ``git flow feature start``.

``feature finish`` will finish the currently active story (merge it into `develop`, push develop, change the story state in PT to `finished` and post a review request to Pivotal Tracker). It will do its best to find the corersponding review request in ReviewBoard and update the review but if it can't then it will post a new review. You can force posting a new review by setting the ``-n/--new-review`` flag.

gitflow was originally developed by Vincent Driessen as a set ofshell-scripts. In Juni 2007 he started a Python rewrite but did notfinish it. In February 2012 Hartmut Goebel started completing thePython rewrite and asked Vincent to pull his changes. But in June 2012Vincent closed the pull-request and deleted his ``python-rewrite``branch. So Hartmut decided to release the Python rewrite on his own.

Showing your appreciation to the original authors=================================================

Of course, the best way to show your appreciation for the git-flowtool itself remains contributing to the community. If you'd like toshow your appreciation in another way, however, consider donatingto the original authors through PayPal: |Donate|_