Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 197 lines (132 sloc) 6.912 kB
6c2d30b @nvie Structurally replace gitflow by git-flow, as a true git extension.
authored
1 git-flow
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
12c4ab4 @nvie Update README file to mention new available features.
authored
8 Installing git-flow
9 -------------------
e26bfbc @agross Adding more detailed installation information for Windows users on Cy…
agross authored
10
11 ### Mac OS
12 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
13
149d154 @nvie Add installation instructions for homebrew and MacPorts.
authored
14 $ brew install git-flow
15
e26bfbc @agross Adding more detailed installation information for Windows users on Cy…
agross authored
16 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
17
149d154 @nvie Add installation instructions for homebrew and MacPorts.
authored
18 $ port install git-flow
c213052 @defeated added OSX instructions using curl (because wget isn't available by de…
defeated authored
19
e26bfbc @agross Adding more detailed installation information for Windows users on Cy…
agross authored
20 ### Linux, etc.
149d154 @nvie Add installation instructions for homebrew and MacPorts.
authored
21 Another easy way to install git-flow is using Rick Osborne's excellent git-flow
22 installer, which can be run using the following command:
23
6f199b9 @nvie Make Github download URL in README https.
authored
24 $ wget -q -O - https://github.com/nvie/gitflow/raw/develop/contrib/gitflow-installer.sh | sudo sh
c213052 @defeated added OSX instructions using curl (because wget isn't available by de…
defeated authored
25
e26bfbc @agross Adding more detailed installation information for Windows users on Cy…
agross authored
26 ### Windows
27 #### Using Cygwin
28 For Windows users who wish to use the automated install, it is suggested that you install [Cygwin](http://www.cygwin.com/)
29 first to install tools like `git`, `util-linux` and `wget` (with those three being packages that can be selected
30 during installation). Then simply run this command from a Cygwin shell:
31
6f199b9 @nvie Make Github download URL in README https.
authored
32 $ wget -q -O - https://github.com/nvie/gitflow/raw/develop/contrib/gitflow-installer.sh | sh
e26bfbc @agross Adding more detailed installation information for Windows users on Cy…
agross authored
33
34 #### Using msysgit
35 This is much like the manual installation below, but there are additional steps required to install some extra tools that
36 are not distributed with [msysgit](http://code.google.com/p/msysgit/).
37
38 After cloning the git-flow sources from Github, also fetch the submodules:
39
40 $ git submodule init
41 $ git submodule update
42
43 Copy git-flow's relevant files to your msysgit installation directory:
44
45 $ mkdir /usr/local/bin
46 $ cp git-flow* gitflow* /usr/local/bin/
47 $ cp shFlags/src/shflags /usr/local/bin/gitflow-shFlags
48
49 Next up we need to borrow a couple of binaries from [Cygwin](http://www.cygwin.com/). If you don't have Cygwin installed, please
50 install it including the `util-linux` package. Apart from `util-linux`'s dependencies, no other packages are required. When you
51 finished installation, copy the following files using msysgit's _Git Bash_. We assume the Cygwin's default installation path in C:\cygwin.
52
53 $ cd /c/cygwin/
54 $ cp bin/getopt.exe /usr/local/bin/
55 $ cp bin/cyggcc_s-1.dll /usr/local/bin/
56 $ cp bin/cygiconv-2.dll /usr/local/bin/
57 $ cp bin/cygintl-8.dll /usr/local/bin/
58 $ cp bin/cygwin1.dll /usr/local/bin/
ea738ef @jptoto Added installation instructions for Windows users
jptoto authored
59
e26bfbc @agross Adding more detailed installation information for Windows users on Cy…
agross authored
60 After copying the files above, you can safely uninstall your Cygwin installation by deleting the C:\cygwin directory.
ea738ef @jptoto Added installation instructions for Windows users
jptoto authored
61
e26bfbc @agross Adding more detailed installation information for Windows users on Cy…
agross authored
62 ### Manual installation
4f0f539 @nvie Added Rick Osborne's super-easy gitflow installer oneliner to the pro…
authored
63 If you prefer a manual installation, please use the following instructions.
13c9482 @nvie Added instructions to first fetch submodules before installing.
authored
64 After downloading the sources from Github, also fetch the submodules:
65
66 $ git submodule init
67 $ git submodule update
68
69 Then, you can install `git-flow`, using:
78c73dc @nvie Add initial project outline and guidelines.
authored
70
12c4ab4 @nvie Update README file to mention new available features.
authored
71 $ sudo make install
f206ba6 @nvie Update README file to match the 0.1 release status.
authored
72
e0b54c0 @nvie Strip the GIT_EXEC_PATH Makefile parameter. Replaced it by the more U…
authored
73 By default, git-flow will be installed in /usr/local. To change the prefix
74 where git-flow will be installed, simply specify it explicitly, using:
12c4ab4 @nvie Update README file to mention new available features.
authored
75
e0b54c0 @nvie Strip the GIT_EXEC_PATH Makefile parameter. Replaced it by the more U…
authored
76 $ sudo make prefix=/opt/local install
dd720be @nvie Dynamically collect the true git exec path and only if that can not b…
authored
77
78 Or simply point your `PATH` environment variable to your git-flow checkout
79 directory.
78c73dc @nvie Add initial project outline and guidelines.
authored
80
b17b898 @nvie Add installation note on how to install getopt.
authored
81 *Installation note:*
82 git-flow depends on the availability of the command line utility `getopt`,
83 which may not be available in your Unix/Linux environment. Please use your
84 favorite package manager to install `getopt`. For Cygwin, install the
47d1b9d @nvie Made a note on the apt-get installer's package name.
authored
85 `util-linux` package to get `getopt`. If you use `apt-get` as your install
86 manager, the package name is `opt`.
b17b898 @nvie Add installation note on how to install getopt.
authored
87
78c73dc @nvie Add initial project outline and guidelines.
authored
88
ec0b854 @nvie Add link to git-flow-completion project.
authored
89 Integration with your shell
90 ---------------------------
25def71 @nvie Mention the ZSH support for git-flow-completion.
authored
91 For those who use the [Bash](http://www.gnu.org/software/bash/) or
92 [ZSH](http://www.zsh.org) shell, please check out the excellent work on the
ec0b854 @nvie Add link to git-flow-completion project.
authored
93 [git-flow-completion](http://github.com/bobthecow/git-flow-completion) project
94 by [bobthecow](http://github.com/bobthecow). It offers tab-completion for all
95 git-flow subcommands and branch names.
96
25def71 @nvie Mention the ZSH support for git-flow-completion.
authored
97 For Windows users, [msysgit](http://code.google.com/p/msysgit/) is a good
98 starting place for installing git.
ac949bf @jptoto Fixed link to Cygwin and msysgit
jptoto authored
99
ec0b854 @nvie Add link to git-flow-completion project.
authored
100
11965b3 @nvie Added two FAQs.
authored
101 FAQ
102 ---
61f2c69 @nvie Fix FAQ link.
authored
103 See the [FAQ](http://github.com/nvie/gitflow/wiki/FAQ) section of the project
104 Wiki.
cb92228 @nvie Add FAQ note for Windows users.
authored
105
11965b3 @nvie Added two FAQs.
authored
106
f206ba6 @nvie Update README file to match the 0.1 release status.
authored
107 Please help out
108 ---------------
c49c793 @nvie Dotted i's and crossed t's in the README file, for release.
authored
109 This project is still under development. Feedback and suggestions are very
110 welcome and I encourage you to use the [Issues
111 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
112 feedback.
113
d79a0d4 @nvie Added referral link to the AUTHORS file.
authored
114 Feel free to fork this repo and to commit your additions. For a list of all
115 contributors, please see the [AUTHORS](AUTHORS) file.
78c73dc @nvie Add initial project outline and guidelines.
authored
116
1fd5bcf @nvie Added link to Google group.
authored
117 Any questions, tips, or general discussion can be posted to our Google group:
4d8b379 @nvie Make the links manually.
authored
118 [http://groups.google.com/group/gitflow-users](http://groups.google.com/group/gitflow-users)
1fd5bcf @nvie Added link to Google group.
authored
119
78c73dc @nvie Add initial project outline and guidelines.
authored
120
5d1dbe7 @nvie Added (BSD) licensing terms to the project.
authored
121 License terms
122 -------------
123 git-flow is published under the liberal terms of the BSD License, see the
124 [LICENSE](LICENSE) file. Although the BSD License does not require you to share
125 any modifications you make to the source code, you are very much encouraged and
126 invited to contribute back your modifications to the community, preferably
127 in a Github fork, of course.
128
129
c49c793 @nvie Dotted i's and crossed t's in the README file, for release.
authored
130 Typical usage:
131 --------------
b731e6f @nvie Mention Jeff's great article on the README file.
authored
132 For the best introduction to get started to `git flow`, please read Jeff
133 Kreeftmeijer's blog post:
134
4d8b379 @nvie Make the links manually.
authored
135 [http://jeffkreeftmeijer.com/2010/why-arent-you-using-git-flow/](http://jeffkreeftmeijer.com/2010/why-arent-you-using-git-flow/)
b731e6f @nvie Mention Jeff's great article on the README file.
authored
136
c49c793 @nvie Dotted i's and crossed t's in the README file, for release.
authored
137
138 ### Initialization
78c73dc @nvie Add initial project outline and guidelines.
authored
139
c49c793 @nvie Dotted i's and crossed t's in the README file, for release.
authored
140 To initialize a new repo with the basic branch structure, use:
12c4ab4 @nvie Update README file to mention new available features.
authored
141
c49c793 @nvie Dotted i's and crossed t's in the README file, for release.
authored
142 git flow init
f9ebb07 @nvie Added 'git flow init' to the README file.
authored
143
c49c793 @nvie Dotted i's and crossed t's in the README file, for release.
authored
144 This will then interactively prompt you with some questions on which branches
145 you would like to use as development and production branches, and how you
146 would like your prefixes be named. You may simply press Return on any of
147 those questions to accept the (sane) default suggestions.
148
149
150 ### Creating feature/release/hotfix/support branches
12c4ab4 @nvie Update README file to mention new available features.
authored
151
c81e7a2 @nvie Update the README to reflect the new subcommand structure.
authored
152 * To list/start/finish feature branches, use:
78c73dc @nvie Add initial project outline and guidelines.
authored
153
c81e7a2 @nvie Update the README to reflect the new subcommand structure.
authored
154 git flow feature
155 git flow feature start <name> [<base>]
156 git flow feature finish <name>
78c73dc @nvie Add initial project outline and guidelines.
authored
157
010252a @nvie Added an optional <base> argument to all start subactions.
authored
158 For feature branches, the `<base>` arg must be a commit on `develop`.
c81e7a2 @nvie Update the README to reflect the new subcommand structure.
authored
159
160 * To list/start/finish release branches, use:
78c73dc @nvie Add initial project outline and guidelines.
authored
161
04839ae @nvie Forgot list command for hotfixes.
authored
162 git flow release
010252a @nvie Added an optional <base> argument to all start subactions.
authored
163 git flow release start <release> [<base>]
c81e7a2 @nvie Update the README to reflect the new subcommand structure.
authored
164 git flow release finish <release>
78c73dc @nvie Add initial project outline and guidelines.
authored
165
010252a @nvie Added an optional <base> argument to all start subactions.
authored
166 For release branches, the `<base>` arg must be a commit on `develop`.
167
c81e7a2 @nvie Update the README to reflect the new subcommand structure.
authored
168 * To list/start/finish hotfix branches, use:
78c73dc @nvie Add initial project outline and guidelines.
authored
169
04839ae @nvie Forgot list command for hotfixes.
authored
170 git flow hotfix
010252a @nvie Added an optional <base> argument to all start subactions.
authored
171 git flow hotfix start <release> [<base>]
c81e7a2 @nvie Update the README to reflect the new subcommand structure.
authored
172 git flow hotfix finish <release>
010252a @nvie Added an optional <base> argument to all start subactions.
authored
173
174 For hotfix branches, the `<base>` arg must be a commit on `master`.
c81e7a2 @nvie Update the README to reflect the new subcommand structure.
authored
175
176 * To list/start support branches, use:
78c73dc @nvie Add initial project outline and guidelines.
authored
177
c81e7a2 @nvie Update the README to reflect the new subcommand structure.
authored
178 git flow support
010252a @nvie Added an optional <base> argument to all start subactions.
authored
179 git flow support start <release> <base>
180
181 For support branches, the `<base>` arg must be a commit on `master`.
78c73dc @nvie Add initial project outline and guidelines.
authored
182
b33ea8a @nvie Added a Flattr button to the README file.
authored
183
184 Showing your appreciation
185 =========================
186 A few people already requested it, so now it's here: a Flattr button.
187
188 Of course, the best way to show your appreciation for the original
189 [blog post](http://nvie.com/git-model) or the git-flow tool itself remains
190 contributing to the community. If you'd like to show your appreciation in
191 another way, however, consider Flattr'ing me:
192
193 [![Flattr this][2]][1]
194
195 [1]: http://flattr.com/thing/53771/git-flow
196 [2]: http://api.flattr.com/button/button-static-50x60.png
Something went wrong with that request. Please try again.