blob: b2e06a9fb3414baf45f42410debf114512f5ede6 [file] [log] [blame]
Vincent Driessen78c73dc2010-01-21 00:48:44 +01001gitflow
2=======
Vincent Driessen12c4ab42010-01-26 22:11:19 +01003A collection of Git extensions to provide high-level repository operations
Vincent Driessen78c73dc2010-01-21 00:48:44 +01004for Vincent Driessen's [branching model](http://nvie.com/archives/323 "original
5blog post").
6
Vincent Driessenf206ba62010-01-26 12:44:41 +01007
8Release 0.1
9-----------
Vincent Driessen12c4ab42010-01-26 22:11:19 +010010A quick release of version 0.1 has arrived. The main scripts are functional and
Vincent Driessenf206ba62010-01-26 12:44:41 +010011should be usable under "normal" use.
12
13There have barely been any real-world tests, but I encourage you to start using
14it actively. [Feedback](http://github.com/nvie/gitflow/issues) is also very
15welcome. See the "Please help out" section below, also.
16
17**Make sure to validate the modifications to your repo after running any of the
Vincent Driessen12c4ab42010-01-26 22:11:19 +010018`git-flow` commands, before pushing them permanently.**
Vincent Driessenf206ba62010-01-26 12:44:41 +010019
20
Vincent Driessen12c4ab42010-01-26 22:11:19 +010021Installing git-flow
22-------------------
23To install `git-flow` as a real `git` subcommand, run:
Vincent Driessenf206ba62010-01-26 12:44:41 +010024
Vincent Driessen12c4ab42010-01-26 22:11:19 +010025 $ sudo make install
Vincent Driessenf206ba62010-01-26 12:44:41 +010026
Vincent Driessen12c4ab42010-01-26 22:11:19 +010027By default, this will install `git-flow` into the default Git exec path
28(`/usr/libexec/git-core`). To override this setting in case you have installed
29Git in another location, use:
30
31 $ sudo make GIT_EXEC_PATH=/your/git/exec/path install
32
33Or simply point your `PATH` environment variable to your git-flow checkout.
Vincent Driessenf206ba62010-01-26 12:44:41 +010034
35
Vincent Driessen78c73dc2010-01-21 00:48:44 +010036Please help out
37---------------
Vincent Driessenf206ba62010-01-26 12:44:41 +010038This project is still under development. What is available today is merely its
39foundation. However, it is functional in its current form and should be usable
40under normal use. (Don't try to create multiple release branches next to each
41other and stuff like that, yet.)
42
43Feedback and suggestions are very welcome and I encourage you to use the
44[Issues list](http://github.com/nvie/gitflow/issues) on Github to provide that
45feedback.
Vincent Driessen78c73dc2010-01-21 00:48:44 +010046
47Feel free to fork this repo and to commit your additions.
48
Vincent Driessen78c73dc2010-01-21 00:48:44 +010049
Vincent Driessenf206ba62010-01-26 12:44:41 +010050Example uses:
51-------------
Vincent Driessen78c73dc2010-01-21 00:48:44 +010052
Vincent Driessen12c4ab42010-01-26 22:11:19 +010053* To initialize a new repo with the basic branch structure, instead of using
54 `git init`, use:
55
56 git flow init
57
Vincent Driessen78c73dc2010-01-21 00:48:44 +010058* To start a new feature branch, use:
59
Vincent Driessen12c4ab42010-01-26 22:11:19 +010060 git flow start feature <name> [<base>]
61 git flow start feature foo-support
Vincent Driessen78c73dc2010-01-21 00:48:44 +010062
63 `base` is `develop` by default.
64
65* To finish this feature and have it merged into `develop`, use:
66
Vincent Driessen12c4ab42010-01-26 22:11:19 +010067 git flow finish feature <name>
68 git flow finish feature foo-support
Vincent Driessen78c73dc2010-01-21 00:48:44 +010069
70* To start a new release branch for 2.0, based on the 1.1 production release, use:
71
Vincent Driessen12c4ab42010-01-26 22:11:19 +010072 git flow start release <release>
73 git flow start release 2.0
Vincent Driessen78c73dc2010-01-21 00:48:44 +010074
75* To finish the release branch (i.e. to make an actual production release), use:
76
Vincent Driessen12c4ab42010-01-26 22:11:19 +010077 git flow finish release <release>
78 git flow finish release 2.0
Vincent Driessen78c73dc2010-01-21 00:48:44 +010079
80* To start a new hotfix branch for 2.1, based on the 2.0 production release, use:
81
Vincent Driessen12c4ab42010-01-26 22:11:19 +010082 git flow start hotfix <release> [<base-release>]
83 git flow start hotfix 2.1 2.0
Vincent Driessen78c73dc2010-01-21 00:48:44 +010084
85* To finish the hotfix branch, use:
86
Vincent Driessen12c4ab42010-01-26 22:11:19 +010087 git flow finish hotfix <release>
88 git flow finish hotfix 2.1
Vincent Driessen78c73dc2010-01-21 00:48:44 +010089