Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 198 lines (133 sloc) 7.266 kb
877f5fe @nvie Fix placement.
authored
1 git-flow ![Project status](http://stillmaintained.com/nvie/gitflow.png)
6c2d30b @nvie Structurally replace gitflow by git-flow, as a true git extension.
authored
2 ========
12c4ab4 @nvie Update README file to mention new available features.
authored
3 A collection of Git extensions to provide high-level repository operations
4fc0bc1 @nvie Use a more friendly URL for the original blog post URL.
authored
4 for Vincent Driessen's [branching model](http://nvie.com/git-model "original
78c73dc @nvie Add initial project outline and guidelines.
authored
5 blog post").
6
7
553776f @nvie Move up the "getting started" paragraph. It's the most important one
authored
8 Getting started
9 ---------------
10 For the best introduction to get started with `git flow`, please read Jeff
11 Kreeftmeijer's blog post:
12
13 [http://jeffkreeftmeijer.com/2010/why-arent-you-using-git-flow/](http://jeffkreeftmeijer.com/2010/why-arent-you-using-git-flow/)
14
15 Or have a look at one of these screen casts:
16
766159d @nvie Add a cool new video tutorial on git-flow by Build a Module.
authored
17 * [How to use a scalable Git branching model called git-flow](http://buildamodule.com/video/change-management-and-version-control-deploying-releases-features-and-fixes-with-git-how-to-use-a-scalable-git-branching-model-called-gitflow) (by Build a Module)
553776f @nvie Move up the "getting started" paragraph. It's the most important one
authored
18 * [A short introduction to git-flow](http://vimeo.com/16018419) (by Mark Derricutt)
19 * [On the path with git-flow](http://codesherpas.com/screencasts/on_the_path_gitflow.mov) (by Dave Bock)
20
21
12c4ab4 @nvie Update README file to mention new available features.
authored
22 Installing git-flow
23 -------------------
e26bfbc @agross Adding more detailed installation information for Windows users on Cygwi...
agross authored
24
25 ### Mac OS
26 If you're on a Mac and use [homebrew](http://github.com/mxcl/homebrew), it's simple:
4f0f539 @nvie Added Rick Osborne's super-easy gitflow installer oneliner to the projec...
authored
27
149d154 @nvie Add installation instructions for homebrew and MacPorts.
authored
28 $ brew install git-flow
29
e26bfbc @agross Adding more detailed installation information for Windows users on Cygwi...
agross authored
30 If you're on a Mac and use [MacPorts](http://macports.org/), it's simple:
4f0f539 @nvie Added Rick Osborne's super-easy gitflow installer oneliner to the projec...
authored
31
149d154 @nvie Add installation instructions for homebrew and MacPorts.
authored
32 $ port install git-flow
c213052 @defeated added OSX instructions using curl (because wget isn't available by defau...
defeated authored
33
e26bfbc @agross Adding more detailed installation information for Windows users on Cygwi...
agross authored
34 ### Linux, etc.
149d154 @nvie Add installation instructions for homebrew and MacPorts.
authored
35 Another easy way to install git-flow is using Rick Osborne's excellent git-flow
36 installer, which can be run using the following command:
37
26293bb This script depends on Bash-only features, and so should not be executed...
Tacit Sawk authored
38 $ wget --no-check-certificate -q -O - https://github.com/nvie/gitflow/raw/develop/contrib/gitflow-installer.sh | sudo bash
c213052 @defeated added OSX instructions using curl (because wget isn't available by defau...
defeated authored
39
e26bfbc @agross Adding more detailed installation information for Windows users on Cygwi...
agross authored
40 ### Windows
b52f79e @dolmen Update README for msysgit to use the new installer
dolmen authored
41
42 For Windows users, [msysgit](http://code.google.com/p/msysgit/) is a good
43 starting place for installing git.
44
e26bfbc @agross Adding more detailed installation information for Windows users on Cygwi...
agross authored
45 #### Using Cygwin
46 For Windows users who wish to use the automated install, it is suggested that you install [Cygwin](http://www.cygwin.com/)
47 first to install tools like `git`, `util-linux` and `wget` (with those three being packages that can be selected
48 during installation). Then simply run this command from a Cygwin shell:
49
26293bb This script depends on Bash-only features, and so should not be executed...
Tacit Sawk authored
50 $ wget -q -O - https://github.com/nvie/gitflow/raw/develop/contrib/gitflow-installer.sh | bash
e26bfbc @agross Adding more detailed installation information for Windows users on Cygwi...
agross authored
51
b52f79e @dolmen Update README for msysgit to use the new installer
dolmen authored
52 #### Using [msysgit](http://code.google.com/p/msysgit/)
e73a1d9 @MarkBorcherding Adding windows install step for libintl3.dll
MarkBorcherding authored
53 Download and install `getopt.exe` from the [util-linux package](http://gnuwin32.sourceforge.net/packages/util-linux-ng.htm) into `C:\Program Files\Git\bin`. (Only `getopt.exe`, the others util-linux files are not used). Also install `libintl3.dll` from the Dependencies package, into the same directory.
e26bfbc @agross Adding more detailed installation information for Windows users on Cygwi...
agross authored
54
b52f79e @dolmen Update README for msysgit to use the new installer
dolmen authored
55 Clone the git-flow sources from GitHub:
e26bfbc @agross Adding more detailed installation information for Windows users on Cygwi...
agross authored
56
69f205c @nvie I only just discovered the --recursive flag to git clone.
authored
57 $ git clone --recursive git://github.com/nvie/gitflow.git
b52f79e @dolmen Update README for msysgit to use the new installer
dolmen authored
58 $ cd gitflow
e26bfbc @agross Adding more detailed installation information for Windows users on Cygwi...
agross authored
59
b52f79e @dolmen Update README for msysgit to use the new installer
dolmen authored
60 Run the `msysgit-install` script from a command-line prompt (you may have to
61 run it with "Full Administrator" rights if you installed msysgit with its
62 installer):
e26bfbc @agross Adding more detailed installation information for Windows users on Cygwi...
agross authored
63
b52f79e @dolmen Update README for msysgit to use the new installer
dolmen authored
64 C:\gitflow> contrib\msysgit-install.cmd
ea738ef @jptoto Added installation instructions for Windows users
jptoto authored
65
e26bfbc @agross Adding more detailed installation information for Windows users on Cygwi...
agross authored
66 ### Manual installation
69f205c @nvie I only just discovered the --recursive flag to git clone.
authored
67 If you prefer a manual installation, please use the following instructions:
13c9482 @nvie Added instructions to first fetch submodules before installing.
authored
68
69f205c @nvie I only just discovered the --recursive flag to git clone.
authored
69 $ git clone --recursive git://github.com/nvie/gitflow.git
13c9482 @nvie Added instructions to first fetch submodules before installing.
authored
70
71 Then, you can install `git-flow`, using:
78c73dc @nvie Add initial project outline and guidelines.
authored
72
12c4ab4 @nvie Update README file to mention new available features.
authored
73 $ sudo make install
f206ba6 @nvie Update README file to match the 0.1 release status.
authored
74
e0b54c0 @nvie Strip the GIT_EXEC_PATH Makefile parameter. Replaced it by the more Unix...
authored
75 By default, git-flow will be installed in /usr/local. To change the prefix
76 where git-flow will be installed, simply specify it explicitly, using:
12c4ab4 @nvie Update README file to mention new available features.
authored
77
e0b54c0 @nvie Strip the GIT_EXEC_PATH Makefile parameter. Replaced it by the more Unix...
authored
78 $ sudo make prefix=/opt/local install
dd720be @nvie Dynamically collect the true git exec path and only if that can not be f...
authored
79
80 Or simply point your `PATH` environment variable to your git-flow checkout
81 directory.
78c73dc @nvie Add initial project outline and guidelines.
authored
82
b17b898 @nvie Add installation note on how to install getopt.
authored
83 *Installation note:*
84 git-flow depends on the availability of the command line utility `getopt`,
85 which may not be available in your Unix/Linux environment. Please use your
86 favorite package manager to install `getopt`. For Cygwin, install the
47d1b9d @nvie Made a note on the apt-get installer's package name.
authored
87 `util-linux` package to get `getopt`. If you use `apt-get` as your install
88 manager, the package name is `opt`.
b17b898 @nvie Add installation note on how to install getopt.
authored
89
78c73dc @nvie Add initial project outline and guidelines.
authored
90
ec0b854 @nvie Add link to git-flow-completion project.
authored
91 Integration with your shell
92 ---------------------------
25def71 @nvie Mention the ZSH support for git-flow-completion.
authored
93 For those who use the [Bash](http://www.gnu.org/software/bash/) or
94 [ZSH](http://www.zsh.org) shell, please check out the excellent work on the
ec0b854 @nvie Add link to git-flow-completion project.
authored
95 [git-flow-completion](http://github.com/bobthecow/git-flow-completion) project
96 by [bobthecow](http://github.com/bobthecow). It offers tab-completion for all
97 git-flow subcommands and branch names.
98
99
11965b3 @nvie Added two FAQs.
authored
100 FAQ
101 ---
61f2c69 @nvie Fix FAQ link.
authored
102 See the [FAQ](http://github.com/nvie/gitflow/wiki/FAQ) section of the project
103 Wiki.
cb92228 @nvie Add FAQ note for Windows users.
authored
104
11965b3 @nvie Added two FAQs.
authored
105
f206ba6 @nvie Update README file to match the 0.1 release status.
authored
106 Please help out
107 ---------------
c49c793 @nvie Dotted i's and crossed t's in the README file, for release.
authored
108 This project is still under development. Feedback and suggestions are very
109 welcome and I encourage you to use the [Issues
110 list](http://github.com/nvie/gitflow/issues) on Github to provide that
f206ba6 @nvie Update README file to match the 0.1 release status.
authored
111 feedback.
112
d79a0d4 @nvie Added referral link to the AUTHORS file.
authored
113 Feel free to fork this repo and to commit your additions. For a list of all
114 contributors, please see the [AUTHORS](AUTHORS) file.
78c73dc @nvie Add initial project outline and guidelines.
authored
115
1fd5bcf @nvie Added link to Google group.
authored
116 Any questions, tips, or general discussion can be posted to our Google group:
4d8b379 @nvie Make the links manually.
authored
117 [http://groups.google.com/group/gitflow-users](http://groups.google.com/group/gitflow-users)
1fd5bcf @nvie Added link to Google group.
authored
118
938ea5f @ejholmes Add information for contributing.
ejholmes authored
119 Contributing
120 ------------
121 * Fork the repository.
122 * `git clone git@github.com:<username>/gitflow.git`
123 * `git branch master origin/master`
124 * `git flow init -d`
125 * `git flow feature start <your feature>`
126 * Do work and commit your changes. (**hint**: ``export PATH=`pwd`:$PATH`` from within the gitflow directory helps)
127 * `git flow feature publish <your feature>`
128 * Open a pull request to your feature branch.
78c73dc @nvie Add initial project outline and guidelines.
authored
129
5d1dbe7 @nvie Added (BSD) licensing terms to the project.
authored
130 License terms
131 -------------
132 git-flow is published under the liberal terms of the BSD License, see the
133 [LICENSE](LICENSE) file. Although the BSD License does not require you to share
134 any modifications you make to the source code, you are very much encouraged and
135 invited to contribute back your modifications to the community, preferably
136 in a Github fork, of course.
137
138
c49c793 @nvie Dotted i's and crossed t's in the README file, for release.
authored
139 ### Initialization
78c73dc @nvie Add initial project outline and guidelines.
authored
140
c49c793 @nvie Dotted i's and crossed t's in the README file, for release.
authored
141 To initialize a new repo with the basic branch structure, use:
12c4ab4 @nvie Update README file to mention new available features.
authored
142
c49c793 @nvie Dotted i's and crossed t's in the README file, for release.
authored
143 git flow init
f9ebb07 @nvie Added 'git flow init' to the README file.
authored
144
c49c793 @nvie Dotted i's and crossed t's in the README file, for release.
authored
145 This will then interactively prompt you with some questions on which branches
146 you would like to use as development and production branches, and how you
147 would like your prefixes be named. You may simply press Return on any of
148 those questions to accept the (sane) default suggestions.
149
150
151 ### Creating feature/release/hotfix/support branches
12c4ab4 @nvie Update README file to mention new available features.
authored
152
c81e7a2 @nvie Update the README to reflect the new subcommand structure.
authored
153 * To list/start/finish feature branches, use:
78c73dc @nvie Add initial project outline and guidelines.
authored
154
c81e7a2 @nvie Update the README to reflect the new subcommand structure.
authored
155 git flow feature
156 git flow feature start <name> [<base>]
157 git flow feature finish <name>
78c73dc @nvie Add initial project outline and guidelines.
authored
158
010252a @nvie Added an optional <base> argument to all start subactions.
authored
159 For feature branches, the `<base>` arg must be a commit on `develop`.
c81e7a2 @nvie Update the README to reflect the new subcommand structure.
authored
160
161 * To list/start/finish release branches, use:
78c73dc @nvie Add initial project outline and guidelines.
authored
162
04839ae @nvie Forgot list command for hotfixes.
authored
163 git flow release
010252a @nvie Added an optional <base> argument to all start subactions.
authored
164 git flow release start <release> [<base>]
c81e7a2 @nvie Update the README to reflect the new subcommand structure.
authored
165 git flow release finish <release>
78c73dc @nvie Add initial project outline and guidelines.
authored
166
010252a @nvie Added an optional <base> argument to all start subactions.
authored
167 For release branches, the `<base>` arg must be a commit on `develop`.
168
c81e7a2 @nvie Update the README to reflect the new subcommand structure.
authored
169 * To list/start/finish hotfix branches, use:
78c73dc @nvie Add initial project outline and guidelines.
authored
170
04839ae @nvie Forgot list command for hotfixes.
authored
171 git flow hotfix
010252a @nvie Added an optional <base> argument to all start subactions.
authored
172 git flow hotfix start <release> [<base>]
c81e7a2 @nvie Update the README to reflect the new subcommand structure.
authored
173 git flow hotfix finish <release>
010252a @nvie Added an optional <base> argument to all start subactions.
authored
174
175 For hotfix branches, the `<base>` arg must be a commit on `master`.
c81e7a2 @nvie Update the README to reflect the new subcommand structure.
authored
176
177 * To list/start support branches, use:
78c73dc @nvie Add initial project outline and guidelines.
authored
178
c81e7a2 @nvie Update the README to reflect the new subcommand structure.
authored
179 git flow support
010252a @nvie Added an optional <base> argument to all start subactions.
authored
180 git flow support start <release> <base>
181
182 For support branches, the `<base>` arg must be a commit on `master`.
78c73dc @nvie Add initial project outline and guidelines.
authored
183
b33ea8a @nvie Added a Flattr button to the README file.
authored
184
185 Showing your appreciation
186 =========================
187 A few people already requested it, so now it's here: a Flattr button.
188
189 Of course, the best way to show your appreciation for the original
190 [blog post](http://nvie.com/git-model) or the git-flow tool itself remains
191 contributing to the community. If you'd like to show your appreciation in
192 another way, however, consider Flattr'ing me:
193
194 [![Flattr this][2]][1]
195
196 [1]: http://flattr.com/thing/53771/git-flow
197 [2]: http://api.flattr.com/button/button-static-50x60.png
Something went wrong with that request. Please try again.