Vincent Driessen | 78c73dc | 2010-01-21 00:48:44 +0100 | [diff] [blame] | 1 | gitflow |
| 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 | 12c4ab4 | 2010-01-26 22:11:19 +0100 | [diff] [blame^] | 27 | By 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 |
| 29 | Git in another location, use: |
| 30 | |
| 31 | $ sudo make GIT_EXEC_PATH=/your/git/exec/path install |
| 32 | |
| 33 | Or simply point your `PATH` environment variable to your git-flow checkout. |
Vincent Driessen | f206ba6 | 2010-01-26 12:44:41 +0100 | [diff] [blame] | 34 | |
| 35 | |
Vincent Driessen | 78c73dc | 2010-01-21 00:48:44 +0100 | [diff] [blame] | 36 | Please help out |
| 37 | --------------- |
Vincent Driessen | f206ba6 | 2010-01-26 12:44:41 +0100 | [diff] [blame] | 38 | This project is still under development. What is available today is merely its |
| 39 | foundation. However, it is functional in its current form and should be usable |
| 40 | under normal use. (Don't try to create multiple release branches next to each |
| 41 | other and stuff like that, yet.) |
| 42 | |
| 43 | Feedback 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 |
| 45 | feedback. |
Vincent Driessen | 78c73dc | 2010-01-21 00:48:44 +0100 | [diff] [blame] | 46 | |
| 47 | Feel free to fork this repo and to commit your additions. |
| 48 | |
Vincent Driessen | 78c73dc | 2010-01-21 00:48:44 +0100 | [diff] [blame] | 49 | |
Vincent Driessen | f206ba6 | 2010-01-26 12:44:41 +0100 | [diff] [blame] | 50 | Example uses: |
| 51 | ------------- |
Vincent Driessen | 78c73dc | 2010-01-21 00:48:44 +0100 | [diff] [blame] | 52 | |
Vincent Driessen | 12c4ab4 | 2010-01-26 22:11:19 +0100 | [diff] [blame^] | 53 | * To initialize a new repo with the basic branch structure, instead of using |
| 54 | `git init`, use: |
| 55 | |
| 56 | git flow init |
| 57 | |
Vincent Driessen | 78c73dc | 2010-01-21 00:48:44 +0100 | [diff] [blame] | 58 | * To start a new feature branch, use: |
| 59 | |
Vincent Driessen | 12c4ab4 | 2010-01-26 22:11:19 +0100 | [diff] [blame^] | 60 | git flow start feature <name> [<base>] |
| 61 | git flow start feature foo-support |
Vincent Driessen | 78c73dc | 2010-01-21 00:48:44 +0100 | [diff] [blame] | 62 | |
| 63 | `base` is `develop` by default. |
| 64 | |
| 65 | * To finish this feature and have it merged into `develop`, use: |
| 66 | |
Vincent Driessen | 12c4ab4 | 2010-01-26 22:11:19 +0100 | [diff] [blame^] | 67 | git flow finish feature <name> |
| 68 | git flow finish feature foo-support |
Vincent Driessen | 78c73dc | 2010-01-21 00:48:44 +0100 | [diff] [blame] | 69 | |
| 70 | * To start a new release branch for 2.0, based on the 1.1 production release, use: |
| 71 | |
Vincent Driessen | 12c4ab4 | 2010-01-26 22:11:19 +0100 | [diff] [blame^] | 72 | git flow start release <release> |
| 73 | git flow start release 2.0 |
Vincent Driessen | 78c73dc | 2010-01-21 00:48:44 +0100 | [diff] [blame] | 74 | |
| 75 | * To finish the release branch (i.e. to make an actual production release), use: |
| 76 | |
Vincent Driessen | 12c4ab4 | 2010-01-26 22:11:19 +0100 | [diff] [blame^] | 77 | git flow finish release <release> |
| 78 | git flow finish release 2.0 |
Vincent Driessen | 78c73dc | 2010-01-21 00:48:44 +0100 | [diff] [blame] | 79 | |
| 80 | * To start a new hotfix branch for 2.1, based on the 2.0 production release, use: |
| 81 | |
Vincent Driessen | 12c4ab4 | 2010-01-26 22:11:19 +0100 | [diff] [blame^] | 82 | git flow start hotfix <release> [<base-release>] |
| 83 | git flow start hotfix 2.1 2.0 |
Vincent Driessen | 78c73dc | 2010-01-21 00:48:44 +0100 | [diff] [blame] | 84 | |
| 85 | * To finish the hotfix branch, use: |
| 86 | |
Vincent Driessen | 12c4ab4 | 2010-01-26 22:11:19 +0100 | [diff] [blame^] | 87 | git flow finish hotfix <release> |
| 88 | git flow finish hotfix 2.1 |
Vincent Driessen | 78c73dc | 2010-01-21 00:48:44 +0100 | [diff] [blame] | 89 | |