94 lines
2.9 KiB
Markdown
94 lines
2.9 KiB
Markdown
git-flow
|
|
========
|
|
A collection of Git extensions to provide high-level repository operations
|
|
for Vincent Driessen's [branching model](http://nvie.com/archives/323 "original
|
|
blog post").
|
|
|
|
|
|
Release 0.1
|
|
-----------
|
|
A quick release of version 0.1 has arrived. The main scripts are functional and
|
|
should be usable under "normal" use.
|
|
|
|
There have barely been any real-world tests, but I encourage you to start using
|
|
it actively. [Feedback](http://github.com/nvie/gitflow/issues) is also very
|
|
welcome. See the "Please help out" section below, also.
|
|
|
|
**Make sure to validate the modifications to your repo after running any of the
|
|
`git-flow` commands, before pushing them permanently.**
|
|
|
|
|
|
Installing git-flow
|
|
-------------------
|
|
To install `git-flow` as a real `git` subcommand, run:
|
|
|
|
$ sudo make install
|
|
|
|
By default, this will look for the directory where Git is already installed,
|
|
and install the git-flow extension alongside the other Git subcommands. If git
|
|
is not on the system's `PATH`, it tries `/usr/libexec/git-core`. To explicitly
|
|
override this setting in case you have installed Git in another location, use:
|
|
|
|
$ sudo make GIT_EXEC_PATH=/your/custom/path install
|
|
|
|
You rarely need to override this manually, the default 'make install' should do
|
|
fine.
|
|
|
|
Or simply point your `PATH` environment variable to your git-flow checkout
|
|
directory.
|
|
|
|
|
|
Please help out
|
|
---------------
|
|
This project is still under development. What is available today is merely its
|
|
foundation. However, it is functional in its current form and should be usable
|
|
under normal use. (Don't try to create multiple release branches next to each
|
|
other and stuff like that, yet.)
|
|
|
|
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
|
|
feedback.
|
|
|
|
Feel free to fork this repo and to commit your additions.
|
|
|
|
|
|
Example uses:
|
|
-------------
|
|
|
|
* To initialize a new repo with the basic branch structure, instead of using
|
|
`git init`, use:
|
|
|
|
git flow init
|
|
|
|
* To start a new feature branch, use:
|
|
|
|
git flow start feature <name> [<base>]
|
|
git flow start feature foo-support
|
|
|
|
`base` is `develop` by default.
|
|
|
|
* To finish this feature and have it merged into `develop`, use:
|
|
|
|
git flow finish feature <name>
|
|
git flow finish feature foo-support
|
|
|
|
* To start a new release branch for 2.0, based on the 1.1 production release, use:
|
|
|
|
git flow start release <release>
|
|
git flow start release 2.0
|
|
|
|
* To finish the release branch (i.e. to make an actual production release), use:
|
|
|
|
git flow finish release <release>
|
|
git flow finish release 2.0
|
|
|
|
* To start a new hotfix branch for 2.1, based on the 2.0 production release, use:
|
|
|
|
git flow start hotfix <release> [<base-release>]
|
|
git flow start hotfix 2.1 2.0
|
|
|
|
* To finish the hotfix branch, use:
|
|
|
|
git flow finish hotfix <release>
|
|
git flow finish hotfix 2.1
|
|
|