Vincent Driessen | 6c2d30b | 2010-01-26 22:18:36 +0100 | [diff] [blame] | 1 | git-flow |
| 2 | ======== |
Vincent Driessen | 12c4ab4 | 2010-01-26 22:11:19 +0100 | [diff] [blame] | 3 | A collection of Git extensions to provide high-level repository operations |
Vincent Driessen | 78c73dc | 2010-01-21 00:48:44 +0100 | [diff] [blame] | 4 | for Vincent Driessen's [branching model](http://nvie.com/archives/323 "original |
| 5 | blog post"). |
| 6 | |
Vincent Driessen | f206ba6 | 2010-01-26 12:44:41 +0100 | [diff] [blame] | 7 | |
| 8 | Release 0.1 |
| 9 | ----------- |
Vincent Driessen | 12c4ab4 | 2010-01-26 22:11:19 +0100 | [diff] [blame] | 10 | A quick release of version 0.1 has arrived. The main scripts are functional and |
Vincent Driessen | f206ba6 | 2010-01-26 12:44:41 +0100 | [diff] [blame] | 11 | should be usable under "normal" use. |
| 12 | |
| 13 | There have barely been any real-world tests, but I encourage you to start using |
| 14 | it actively. [Feedback](http://github.com/nvie/gitflow/issues) is also very |
| 15 | welcome. 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 Driessen | 12c4ab4 | 2010-01-26 22:11:19 +0100 | [diff] [blame] | 18 | `git-flow` commands, before pushing them permanently.** |
Vincent Driessen | f206ba6 | 2010-01-26 12:44:41 +0100 | [diff] [blame] | 19 | |
| 20 | |
Vincent Driessen | 12c4ab4 | 2010-01-26 22:11:19 +0100 | [diff] [blame] | 21 | Installing git-flow |
| 22 | ------------------- |
| 23 | To install `git-flow` as a real `git` subcommand, run: |
Vincent Driessen | f206ba6 | 2010-01-26 12:44:41 +0100 | [diff] [blame] | 24 | |
Vincent Driessen | 12c4ab4 | 2010-01-26 22:11:19 +0100 | [diff] [blame] | 25 | $ sudo make install |
Vincent Driessen | f206ba6 | 2010-01-26 12:44:41 +0100 | [diff] [blame] | 26 | |
Vincent Driessen | dd720be | 2010-01-27 00:00:09 +0100 | [diff] [blame] | 27 | By default, this will look for the directory where Git is already installed, |
| 28 | and install the git-flow extension alongside the other Git subcommands. If git |
| 29 | is not on the system's `PATH`, it tries `/usr/libexec/git-core`. To explicitly |
| 30 | override this setting in case you have installed Git in another location, use: |
Vincent Driessen | 12c4ab4 | 2010-01-26 22:11:19 +0100 | [diff] [blame] | 31 | |
Vincent Driessen | dd720be | 2010-01-27 00:00:09 +0100 | [diff] [blame] | 32 | $ sudo make GIT_EXEC_PATH=/your/custom/path install |
Vincent Driessen | 12c4ab4 | 2010-01-26 22:11:19 +0100 | [diff] [blame] | 33 | |
Vincent Driessen | dd720be | 2010-01-27 00:00:09 +0100 | [diff] [blame] | 34 | You rarely need to override this manually, the default 'make install' should do |
| 35 | fine. |
| 36 | |
| 37 | Or simply point your `PATH` environment variable to your git-flow checkout |
| 38 | directory. |
Vincent Driessen | f206ba6 | 2010-01-26 12:44:41 +0100 | [diff] [blame] | 39 | |
| 40 | |
Vincent Driessen | 78c73dc | 2010-01-21 00:48:44 +0100 | [diff] [blame] | 41 | Please help out |
| 42 | --------------- |
Vincent Driessen | f206ba6 | 2010-01-26 12:44:41 +0100 | [diff] [blame] | 43 | This project is still under development. What is available today is merely its |
| 44 | foundation. However, it is functional in its current form and should be usable |
| 45 | under normal use. (Don't try to create multiple release branches next to each |
| 46 | other and stuff like that, yet.) |
| 47 | |
| 48 | Feedback and suggestions are very welcome and I encourage you to use the |
| 49 | [Issues list](http://github.com/nvie/gitflow/issues) on Github to provide that |
| 50 | feedback. |
Vincent Driessen | 78c73dc | 2010-01-21 00:48:44 +0100 | [diff] [blame] | 51 | |
| 52 | Feel free to fork this repo and to commit your additions. |
| 53 | |
Vincent Driessen | 78c73dc | 2010-01-21 00:48:44 +0100 | [diff] [blame] | 54 | |
Vincent Driessen | f206ba6 | 2010-01-26 12:44:41 +0100 | [diff] [blame] | 55 | Example uses: |
| 56 | ------------- |
Vincent Driessen | 78c73dc | 2010-01-21 00:48:44 +0100 | [diff] [blame] | 57 | |
Vincent Driessen | 12c4ab4 | 2010-01-26 22:11:19 +0100 | [diff] [blame] | 58 | * To initialize a new repo with the basic branch structure, instead of using |
| 59 | `git init`, use: |
| 60 | |
| 61 | git flow init |
| 62 | |
Vincent Driessen | 78c73dc | 2010-01-21 00:48:44 +0100 | [diff] [blame] | 63 | * To start a new feature branch, use: |
| 64 | |
Vincent Driessen | 12c4ab4 | 2010-01-26 22:11:19 +0100 | [diff] [blame] | 65 | git flow start feature <name> [<base>] |
| 66 | git flow start feature foo-support |
Vincent Driessen | 78c73dc | 2010-01-21 00:48:44 +0100 | [diff] [blame] | 67 | |
| 68 | `base` is `develop` by default. |
| 69 | |
| 70 | * To finish this feature and have it merged into `develop`, use: |
| 71 | |
Vincent Driessen | 12c4ab4 | 2010-01-26 22:11:19 +0100 | [diff] [blame] | 72 | git flow finish feature <name> |
| 73 | git flow finish feature foo-support |
Vincent Driessen | 78c73dc | 2010-01-21 00:48:44 +0100 | [diff] [blame] | 74 | |
| 75 | * To start a new release branch for 2.0, based on the 1.1 production release, use: |
| 76 | |
Vincent Driessen | 12c4ab4 | 2010-01-26 22:11:19 +0100 | [diff] [blame] | 77 | git flow start release <release> |
| 78 | git flow start release 2.0 |
Vincent Driessen | 78c73dc | 2010-01-21 00:48:44 +0100 | [diff] [blame] | 79 | |
| 80 | * To finish the release branch (i.e. to make an actual production release), use: |
| 81 | |
Vincent Driessen | 12c4ab4 | 2010-01-26 22:11:19 +0100 | [diff] [blame] | 82 | git flow finish release <release> |
| 83 | git flow finish release 2.0 |
Vincent Driessen | 78c73dc | 2010-01-21 00:48:44 +0100 | [diff] [blame] | 84 | |
| 85 | * To start a new hotfix branch for 2.1, based on the 2.0 production release, use: |
| 86 | |
Vincent Driessen | 12c4ab4 | 2010-01-26 22:11:19 +0100 | [diff] [blame] | 87 | git flow start hotfix <release> [<base-release>] |
| 88 | git flow start hotfix 2.1 2.0 |
Vincent Driessen | 78c73dc | 2010-01-21 00:48:44 +0100 | [diff] [blame] | 89 | |
| 90 | * To finish the hotfix branch, use: |
| 91 | |
Vincent Driessen | 12c4ab4 | 2010-01-26 22:11:19 +0100 | [diff] [blame] | 92 | git flow finish hotfix <release> |
| 93 | git flow finish hotfix 2.1 |
Vincent Driessen | 78c73dc | 2010-01-21 00:48:44 +0100 | [diff] [blame] | 94 | |