| 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 |
| |