Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 188 lines (123 sloc) 6.861 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 Cy…
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 pro…
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 Cy…
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 pro…
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 de…
defeated authored
33
e26bfbc @agross Adding more detailed installation information for Windows users on Cy…
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 execu…
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 de…
defeated authored
39
e26bfbc @agross Adding more detailed installation information for Windows users on Cy…
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 Cy…
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 execu…
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 Cy…
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 Cy…
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 Cy…
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 Cy…
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 Cy…
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 Cy…
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 U…
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 U…
authored
78 $ sudo make prefix=/opt/local install
dd720be @nvie Dynamically collect the true git exec path and only if that can not b…
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
78c73dc @nvie Add initial project outline and guidelines.
authored
119
5d1dbe7 @nvie Added (BSD) licensing terms to the project.
authored
120 License terms
121 -------------
122 git-flow is published under the liberal terms of the BSD License, see the
123 [LICENSE](LICENSE) file. Although the BSD License does not require you to share
124 any modifications you make to the source code, you are very much encouraged and
125 invited to contribute back your modifications to the community, preferably
126 in a Github fork, of course.
127
128
c49c793 @nvie Dotted i's and crossed t's in the README file, for release.
authored
129 ### Initialization
78c73dc @nvie Add initial project outline and guidelines.
authored
130
c49c793 @nvie Dotted i's and crossed t's in the README file, for release.
authored
131 To initialize a new repo with the basic branch structure, use:
12c4ab4 @nvie Update README file to mention new available features.
authored
132
c49c793 @nvie Dotted i's and crossed t's in the README file, for release.
authored
133 git flow init
f9ebb07 @nvie Added 'git flow init' to the README file.
authored
134
c49c793 @nvie Dotted i's and crossed t's in the README file, for release.
authored
135 This will then interactively prompt you with some questions on which branches
136 you would like to use as development and production branches, and how you
137 would like your prefixes be named. You may simply press Return on any of
138 those questions to accept the (sane) default suggestions.
139
140
141 ### Creating feature/release/hotfix/support branches
12c4ab4 @nvie Update README file to mention new available features.
authored
142
c81e7a2 @nvie Update the README to reflect the new subcommand structure.
authored
143 * To list/start/finish feature branches, use:
78c73dc @nvie Add initial project outline and guidelines.
authored
144
c81e7a2 @nvie Update the README to reflect the new subcommand structure.
authored
145 git flow feature
146 git flow feature start <name> [<base>]
147 git flow feature finish <name>
78c73dc @nvie Add initial project outline and guidelines.
authored
148
010252a @nvie Added an optional <base> argument to all start subactions.
authored
149 For feature branches, the `<base>` arg must be a commit on `develop`.
c81e7a2 @nvie Update the README to reflect the new subcommand structure.
authored
150
151 * To list/start/finish release branches, use:
78c73dc @nvie Add initial project outline and guidelines.
authored
152
04839ae @nvie Forgot list command for hotfixes.
authored
153 git flow release
010252a @nvie Added an optional <base> argument to all start subactions.
authored
154 git flow release start <release> [<base>]
c81e7a2 @nvie Update the README to reflect the new subcommand structure.
authored
155 git flow release finish <release>
78c73dc @nvie Add initial project outline and guidelines.
authored
156
010252a @nvie Added an optional <base> argument to all start subactions.
authored
157 For release branches, the `<base>` arg must be a commit on `develop`.
158
c81e7a2 @nvie Update the README to reflect the new subcommand structure.
authored
159 * To list/start/finish hotfix branches, use:
78c73dc @nvie Add initial project outline and guidelines.
authored
160
04839ae @nvie Forgot list command for hotfixes.
authored
161 git flow hotfix
010252a @nvie Added an optional <base> argument to all start subactions.
authored
162 git flow hotfix start <release> [<base>]
c81e7a2 @nvie Update the README to reflect the new subcommand structure.
authored
163 git flow hotfix finish <release>
010252a @nvie Added an optional <base> argument to all start subactions.
authored
164
165 For hotfix branches, the `<base>` arg must be a commit on `master`.
c81e7a2 @nvie Update the README to reflect the new subcommand structure.
authored
166
167 * To list/start support branches, use:
78c73dc @nvie Add initial project outline and guidelines.
authored
168
c81e7a2 @nvie Update the README to reflect the new subcommand structure.
authored
169 git flow support
010252a @nvie Added an optional <base> argument to all start subactions.
authored
170 git flow support start <release> <base>
171
172 For support branches, the `<base>` arg must be a commit on `master`.
78c73dc @nvie Add initial project outline and guidelines.
authored
173
b33ea8a @nvie Added a Flattr button to the README file.
authored
174
175 Showing your appreciation
176 =========================
177 A few people already requested it, so now it's here: a Flattr button.
178
179 Of course, the best way to show your appreciation for the original
180 [blog post](http://nvie.com/git-model) or the git-flow tool itself remains
181 contributing to the community. If you'd like to show your appreciation in
182 another way, however, consider Flattr'ing me:
183
184 [![Flattr this][2]][1]
185
186 [1]: http://flattr.com/thing/53771/git-flow
187 [2]: http://api.flattr.com/button/button-static-50x60.png
Something went wrong with that request. Please try again.