Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 183 lines (123 sloc) 6.611 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 -------------------
4f0f539 @nvie Added Rick Osborne's super-easy gitflow installer oneliner to the pro…
authored
10 The easiest way to install git-flow is using Rick Osborne's excellent
11 git-flow installer, which can be run using the following command:
12
13 $ wget -q -O - http://github.com/nvie/gitflow/raw/develop/contrib/gitflow-installer.sh | sudo sh
14
c213052 @defeated added OSX instructions using curl (because wget isn't available by de…
defeated authored
15 For __OSX__ users, the `wget` command isn't available by default, but `curl` is, so you can run:
16
17 $ curl http://github.com/nvie/gitflow/raw/develop/contrib/gitflow-installer.sh | sudo sh
18
19 For __Windows__ users who wish to use the automated install, it is suggested that you install [Cygwin](http://www.cygwin.com/)
ea738ef @jptoto Added installation instructions for Windows users
jptoto authored
20 first to install tools like sh and wget. Then simply follow the command:
21
22 c:\Users\<user> wget -q -O - http://github.com/nvie/gitflow/raw/develop/contrib/gitflow-installer.sh | sh
23
4f0f539 @nvie Added Rick Osborne's super-easy gitflow installer oneliner to the pro…
authored
24 If you prefer a manual installation, please use the following instructions.
13c9482 @nvie Added instructions to first fetch submodules before installing.
authored
25 After downloading the sources from Github, also fetch the submodules:
26
27 $ git submodule init
28 $ git submodule update
29
30 Then, you can install `git-flow`, using:
78c73dc @nvie Add initial project outline and guidelines.
authored
31
12c4ab4 @nvie Update README file to mention new available features.
authored
32 $ sudo make install
f206ba6 @nvie Update README file to match the 0.1 release status.
authored
33
e0b54c0 @nvie Strip the GIT_EXEC_PATH Makefile parameter. Replaced it by the more U…
authored
34 By default, git-flow will be installed in /usr/local. To change the prefix
35 where git-flow will be installed, simply specify it explicitly, using:
12c4ab4 @nvie Update README file to mention new available features.
authored
36
e0b54c0 @nvie Strip the GIT_EXEC_PATH Makefile parameter. Replaced it by the more U…
authored
37 $ sudo make prefix=/opt/local install
dd720be @nvie Dynamically collect the true git exec path and only if that can not b…
authored
38
39 Or simply point your `PATH` environment variable to your git-flow checkout
40 directory.
78c73dc @nvie Add initial project outline and guidelines.
authored
41
b17b898 @nvie Add installation note on how to install getopt.
authored
42 *Installation note:*
43 git-flow depends on the availability of the command line utility `getopt`,
44 which may not be available in your Unix/Linux environment. Please use your
45 favorite package manager to install `getopt`. For Cygwin, install the
46 `util-linux` package to get `getopt`.
47
78c73dc @nvie Add initial project outline and guidelines.
authored
48
ec0b854 @nvie Add link to git-flow-completion project.
authored
49 Integration with your shell
50 ---------------------------
25def71 @nvie Mention the ZSH support for git-flow-completion.
authored
51 For those who use the [Bash](http://www.gnu.org/software/bash/) or
52 [ZSH](http://www.zsh.org) shell, please check out the excellent work on the
ec0b854 @nvie Add link to git-flow-completion project.
authored
53 [git-flow-completion](http://github.com/bobthecow/git-flow-completion) project
54 by [bobthecow](http://github.com/bobthecow). It offers tab-completion for all
55 git-flow subcommands and branch names.
56
25def71 @nvie Mention the ZSH support for git-flow-completion.
authored
57 For Windows users, [msysgit](http://code.google.com/p/msysgit/) is a good
58 starting place for installing git.
ac949bf @jptoto Fixed link to Cygwin and msysgit
jptoto authored
59
ec0b854 @nvie Add link to git-flow-completion project.
authored
60
11965b3 @nvie Added two FAQs.
authored
61 FAQ
62 ---
63 * **Can I still do manual branches and merges when I use git-flow?**
64 Of course you can. ``git-flow`` does not forbid you to keep using vanilla Git
65 commands!
66
67 So if you want to merge `master` into `develop` for whatever reason you want
68 to, you can safely do so without breaking `git-flow` compatibility. Do you
69 want to manually merge a feature branch X into another feature branch Y? Not
70 a problem. As long as you do it conciously and realize what this means for
71 finishing those branches later on.
72
73 * **I'm getting errors when I use flags with git-flow!**
74 ``git-flow`` uses the [shFlags](http://code.google.com/p/shflags/) library to
75 provide platform independent flag parsing (using wichever low-level flag
76 parsing libraries like `getopt` or `getopts` are available). However,
77 `shFlags` does not work too well on a few platforms that haven't been tested
78 originally. This results in errors like this:
79
80 flags:WARN getopt: option invalide -- 'f' -- 'init' flags:FATAL unable to parse provided options with getopt
81
82 The platforms that suffer these errors include:
83
84 - Gentoo
85 - Ubuntu
86 - Redhat Enterprise Linux
87
88 There are open issues related to this: #28 and #39. Unfortunately, there is
89 no simple fix for it and all hope is placed on the Python rewrite of
90 `git-flow`, see issue #33.
91
92
f206ba6 @nvie Update README file to match the 0.1 release status.
authored
93 Please help out
94 ---------------
c49c793 @nvie Dotted i's and crossed t's in the README file, for release.
authored
95 This project is still under development. Feedback and suggestions are very
96 welcome and I encourage you to use the [Issues
97 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
98 feedback.
99
d79a0d4 @nvie Added referral link to the AUTHORS file.
authored
100 Feel free to fork this repo and to commit your additions. For a list of all
101 contributors, please see the [AUTHORS](AUTHORS) file.
78c73dc @nvie Add initial project outline and guidelines.
authored
102
1fd5bcf @nvie Added link to Google group.
authored
103 Any questions, tips, or general discussion can be posted to our Google group:
4d8b379 @nvie Make the links manually.
authored
104 [http://groups.google.com/group/gitflow-users](http://groups.google.com/group/gitflow-users)
1fd5bcf @nvie Added link to Google group.
authored
105
78c73dc @nvie Add initial project outline and guidelines.
authored
106
5d1dbe7 @nvie Added (BSD) licensing terms to the project.
authored
107 License terms
108 -------------
109 git-flow is published under the liberal terms of the BSD License, see the
110 [LICENSE](LICENSE) file. Although the BSD License does not require you to share
111 any modifications you make to the source code, you are very much encouraged and
112 invited to contribute back your modifications to the community, preferably
113 in a Github fork, of course.
114
115
c49c793 @nvie Dotted i's and crossed t's in the README file, for release.
authored
116 Typical usage:
117 --------------
b731e6f @nvie Mention Jeff's great article on the README file.
authored
118 For the best introduction to get started to `git flow`, please read Jeff
119 Kreeftmeijer's blog post:
120
4d8b379 @nvie Make the links manually.
authored
121 [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
122
c49c793 @nvie Dotted i's and crossed t's in the README file, for release.
authored
123
124 ### Initialization
78c73dc @nvie Add initial project outline and guidelines.
authored
125
c49c793 @nvie Dotted i's and crossed t's in the README file, for release.
authored
126 To initialize a new repo with the basic branch structure, use:
12c4ab4 @nvie Update README file to mention new available features.
authored
127
c49c793 @nvie Dotted i's and crossed t's in the README file, for release.
authored
128 git flow init
f9ebb07 @nvie Added 'git flow init' to the README file.
authored
129
c49c793 @nvie Dotted i's and crossed t's in the README file, for release.
authored
130 This will then interactively prompt you with some questions on which branches
131 you would like to use as development and production branches, and how you
132 would like your prefixes be named. You may simply press Return on any of
133 those questions to accept the (sane) default suggestions.
134
135
136 ### Creating feature/release/hotfix/support branches
12c4ab4 @nvie Update README file to mention new available features.
authored
137
c81e7a2 @nvie Update the README to reflect the new subcommand structure.
authored
138 * To list/start/finish feature branches, use:
78c73dc @nvie Add initial project outline and guidelines.
authored
139
c81e7a2 @nvie Update the README to reflect the new subcommand structure.
authored
140 git flow feature
141 git flow feature start <name> [<base>]
142 git flow feature finish <name>
78c73dc @nvie Add initial project outline and guidelines.
authored
143
010252a @nvie Added an optional <base> argument to all start subactions.
authored
144 For feature branches, the `<base>` arg must be a commit on `develop`.
c81e7a2 @nvie Update the README to reflect the new subcommand structure.
authored
145
146 * To list/start/finish release branches, use:
78c73dc @nvie Add initial project outline and guidelines.
authored
147
04839ae @nvie Forgot list command for hotfixes.
authored
148 git flow release
010252a @nvie Added an optional <base> argument to all start subactions.
authored
149 git flow release start <release> [<base>]
c81e7a2 @nvie Update the README to reflect the new subcommand structure.
authored
150 git flow release finish <release>
78c73dc @nvie Add initial project outline and guidelines.
authored
151
010252a @nvie Added an optional <base> argument to all start subactions.
authored
152 For release branches, the `<base>` arg must be a commit on `develop`.
153
c81e7a2 @nvie Update the README to reflect the new subcommand structure.
authored
154 * To list/start/finish hotfix branches, use:
78c73dc @nvie Add initial project outline and guidelines.
authored
155
04839ae @nvie Forgot list command for hotfixes.
authored
156 git flow hotfix
010252a @nvie Added an optional <base> argument to all start subactions.
authored
157 git flow hotfix start <release> [<base>]
c81e7a2 @nvie Update the README to reflect the new subcommand structure.
authored
158 git flow hotfix finish <release>
010252a @nvie Added an optional <base> argument to all start subactions.
authored
159
160 For hotfix branches, the `<base>` arg must be a commit on `master`.
c81e7a2 @nvie Update the README to reflect the new subcommand structure.
authored
161
162 * To list/start support branches, use:
78c73dc @nvie Add initial project outline and guidelines.
authored
163
c81e7a2 @nvie Update the README to reflect the new subcommand structure.
authored
164 git flow support
010252a @nvie Added an optional <base> argument to all start subactions.
authored
165 git flow support start <release> <base>
166
167 For support branches, the `<base>` arg must be a commit on `master`.
78c73dc @nvie Add initial project outline and guidelines.
authored
168
b33ea8a @nvie Added a Flattr button to the README file.
authored
169
170 Showing your appreciation
171 =========================
172 A few people already requested it, so now it's here: a Flattr button.
173
174 Of course, the best way to show your appreciation for the original
175 [blog post](http://nvie.com/git-model) or the git-flow tool itself remains
176 contributing to the community. If you'd like to show your appreciation in
177 another way, however, consider Flattr'ing me:
178
179 [![Flattr this][2]][1]
180
181 [1]: http://flattr.com/thing/53771/git-flow
182 [2]: http://api.flattr.com/button/button-static-50x60.png
Something went wrong with that request. Please try again.