2010-01-26 21:18:36 +00:00
|
|
|
git-flow
|
|
|
|
========
|
2010-01-26 21:11:19 +00:00
|
|
|
A collection of Git extensions to provide high-level repository operations
|
2010-02-24 00:43:04 +00:00
|
|
|
for Vincent Driessen's [branching model](http://nvie.com/git-model "original
|
2010-01-20 23:48:44 +00:00
|
|
|
blog post").
|
|
|
|
|
|
|
|
|
2010-01-26 21:11:19 +00:00
|
|
|
Installing git-flow
|
|
|
|
-------------------
|
2010-07-10 15:05:27 +00:00
|
|
|
The easiest way to install git-flow is using Rick Osborne's excellent
|
|
|
|
git-flow installer, which can be run using the following command:
|
|
|
|
|
|
|
|
$ wget -q -O - http://github.com/nvie/gitflow/raw/develop/contrib/gitflow-installer.sh | sudo sh
|
|
|
|
|
|
|
|
If you prefer a manual installation, please use the following instructions.
|
2010-02-15 19:09:02 +00:00
|
|
|
After downloading the sources from Github, also fetch the submodules:
|
|
|
|
|
|
|
|
$ git submodule init
|
|
|
|
$ git submodule update
|
|
|
|
|
|
|
|
Then, you can install `git-flow`, using:
|
2010-01-20 23:48:44 +00:00
|
|
|
|
2010-01-26 21:11:19 +00:00
|
|
|
$ sudo make install
|
2010-01-26 11:44:41 +00:00
|
|
|
|
2010-03-19 18:27:38 +00:00
|
|
|
By default, git-flow will be installed in /usr/local. To change the prefix
|
|
|
|
where git-flow will be installed, simply specify it explicitly, using:
|
2010-01-26 21:11:19 +00:00
|
|
|
|
2010-03-19 18:27:38 +00:00
|
|
|
$ sudo make prefix=/opt/local install
|
2010-01-26 23:00:09 +00:00
|
|
|
|
|
|
|
Or simply point your `PATH` environment variable to your git-flow checkout
|
|
|
|
directory.
|
2010-01-20 23:48:44 +00:00
|
|
|
|
|
|
|
|
2010-07-22 12:57:16 +00:00
|
|
|
Integration with your shell
|
|
|
|
---------------------------
|
|
|
|
For those who use the [Bash](http://www.gnu.org/software/bash/) shell, please
|
|
|
|
check out the excellent work on the
|
|
|
|
[git-flow-completion](http://github.com/bobthecow/git-flow-completion) project
|
|
|
|
by [bobthecow](http://github.com/bobthecow). It offers tab-completion for all
|
|
|
|
git-flow subcommands and branch names.
|
|
|
|
|
|
|
|
If you are a [zsh](http://www.zsh.org) user with some plugin-writing
|
|
|
|
experience, please help us develop a
|
|
|
|
[completion plugin](http://github.com/bobthecow/git-flow-completion/issues#issue/1)
|
|
|
|
for zsh, too. Please contact me on [Github](http://github.com/inbox/new/nvie)
|
|
|
|
or [Twitter](http://twitter.com/nvie) to discuss details.
|
|
|
|
|
|
|
|
|
2010-01-26 11:44:41 +00:00
|
|
|
Please help out
|
|
|
|
---------------
|
2010-02-24 00:22:48 +00:00
|
|
|
This project is still under development. Feedback and suggestions are very
|
|
|
|
welcome and I encourage you to use the [Issues
|
|
|
|
list](http://github.com/nvie/gitflow/issues) on Github to provide that
|
2010-01-26 11:44:41 +00:00
|
|
|
feedback.
|
|
|
|
|
2010-04-04 14:11:44 +00:00
|
|
|
Feel free to fork this repo and to commit your additions. For a list of all
|
|
|
|
contributors, please see the [AUTHORS](AUTHORS) file.
|
2010-01-20 23:48:44 +00:00
|
|
|
|
2010-07-16 06:21:21 +00:00
|
|
|
Any questions, tips, or general discussion can be posted to our Google group:
|
2010-07-16 06:21:55 +00:00
|
|
|
http://groups.google.com/group/gitflow-users
|
2010-07-16 06:21:21 +00:00
|
|
|
|
2010-01-20 23:48:44 +00:00
|
|
|
|
2010-04-04 13:52:55 +00:00
|
|
|
License terms
|
|
|
|
-------------
|
|
|
|
git-flow is published under the liberal terms of the BSD License, see the
|
|
|
|
[LICENSE](LICENSE) file. Although the BSD License does not require you to share
|
|
|
|
any modifications you make to the source code, you are very much encouraged and
|
|
|
|
invited to contribute back your modifications to the community, preferably
|
|
|
|
in a Github fork, of course.
|
|
|
|
|
|
|
|
|
2010-02-24 00:22:48 +00:00
|
|
|
Typical usage:
|
|
|
|
--------------
|
|
|
|
|
|
|
|
### Initialization
|
2010-01-20 23:48:44 +00:00
|
|
|
|
2010-02-24 00:22:48 +00:00
|
|
|
To initialize a new repo with the basic branch structure, use:
|
2010-01-26 21:11:19 +00:00
|
|
|
|
2010-02-24 00:22:48 +00:00
|
|
|
git flow init
|
2010-02-22 06:56:04 +00:00
|
|
|
|
2010-02-24 00:22:48 +00:00
|
|
|
This will then interactively prompt you with some questions on which branches
|
|
|
|
you would like to use as development and production branches, and how you
|
|
|
|
would like your prefixes be named. You may simply press Return on any of
|
|
|
|
those questions to accept the (sane) default suggestions.
|
|
|
|
|
|
|
|
|
|
|
|
### Creating feature/release/hotfix/support branches
|
2010-01-26 21:11:19 +00:00
|
|
|
|
2010-01-27 23:33:24 +00:00
|
|
|
* To list/start/finish feature branches, use:
|
2010-01-20 23:48:44 +00:00
|
|
|
|
2010-01-27 23:33:24 +00:00
|
|
|
git flow feature
|
|
|
|
git flow feature start <name> [<base>]
|
|
|
|
git flow feature finish <name>
|
2010-01-20 23:48:44 +00:00
|
|
|
|
2010-02-04 09:31:29 +00:00
|
|
|
For feature branches, the `<base>` arg must be a commit on `develop`.
|
2010-01-27 23:33:24 +00:00
|
|
|
|
|
|
|
* To list/start/finish release branches, use:
|
2010-01-20 23:48:44 +00:00
|
|
|
|
2010-01-28 00:07:20 +00:00
|
|
|
git flow release
|
2010-02-04 09:31:29 +00:00
|
|
|
git flow release start <release> [<base>]
|
2010-01-27 23:33:24 +00:00
|
|
|
git flow release finish <release>
|
2010-01-20 23:48:44 +00:00
|
|
|
|
2010-02-04 09:31:29 +00:00
|
|
|
For release branches, the `<base>` arg must be a commit on `develop`.
|
|
|
|
|
2010-01-27 23:33:24 +00:00
|
|
|
* To list/start/finish hotfix branches, use:
|
2010-01-20 23:48:44 +00:00
|
|
|
|
2010-01-28 00:07:20 +00:00
|
|
|
git flow hotfix
|
2010-02-04 09:31:29 +00:00
|
|
|
git flow hotfix start <release> [<base>]
|
2010-01-27 23:33:24 +00:00
|
|
|
git flow hotfix finish <release>
|
2010-02-04 09:31:29 +00:00
|
|
|
|
|
|
|
For hotfix branches, the `<base>` arg must be a commit on `master`.
|
2010-01-27 23:33:24 +00:00
|
|
|
|
|
|
|
* To list/start support branches, use:
|
2010-01-20 23:48:44 +00:00
|
|
|
|
2010-01-27 23:33:24 +00:00
|
|
|
git flow support
|
2010-02-04 09:31:29 +00:00
|
|
|
git flow support start <release> <base>
|
|
|
|
|
|
|
|
For support branches, the `<base>` arg must be a commit on `master`.
|
2010-01-20 23:48:44 +00:00
|
|
|
|