• Stars
    star
    26,364
  • Rank 720 (Top 0.02 %)
  • Language
    Shell
  • License
    Other
  • Created over 14 years ago
  • Updated 6 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Git extensions to provide high-level repository operations for Vincent Driessen's branching model.

git-flow

A collection of Git extensions to provide high-level repository operations for Vincent Driessen's branching model.

Getting started

For the best introduction to get started with git flow, please read Jeff Kreeftmeijer's blog post:

http://jeffkreeftmeijer.com/2010/why-arent-you-using-git-flow/

Or have a look at one of these screen casts:

Installing git-flow

See the Wiki for up-to-date Installation Instructions.

Integration with your shell

For those who use the Bash or ZSH shell, please check out the excellent work on the git-flow-completion project by bobthecow. It offers tab-completion for all git-flow subcommands and branch names.

FAQ

See the FAQ section of the project Wiki.

Please help out

This project is still under development. Feedback and suggestions are very welcome and I encourage you to use the Issues list on Github to provide that feedback.

Feel free to fork this repo and to commit your additions. For a list of all contributors, please see the AUTHORS file.

Any questions, tips, or general discussion can be posted to our Google group: http://groups.google.com/group/gitflow-users

Contributing

Fork the repository. Then, run:

git clone --recursive [email protected]:<username>/gitflow.git
cd gitflow
git branch master origin/master
git flow init -d
git flow feature start <your feature>

Then, do work and commit your changes. Hint: export PATH=`pwd`:$PATH from within the gitflow directory makes sure you're using the version of gitflow you're currently developing.

git flow feature publish <your feature>

When done, open a pull request to your feature branch.

License terms

git-flow is published under the liberal terms of the BSD License, see the LICENSE file. Although the BSD License does not require you to share any modifications you make to the source code, you are very much encouraged and invited to contribute back your modifications to the community, preferably in a Github fork, of course.

Initialization

To initialize a new repo with the basic branch structure, use:

	git flow init [-d]

This will then interactively prompt you with some questions on which branches you would like to use as development and production branches, and how you would like your prefixes be named. You may simply press Return on any of those questions to accept the (sane) default suggestions.

The -d flag will accept all defaults.

Creating feature/release/hotfix/support branches

  • To list/start/finish feature branches, use:

      git flow feature
      git flow feature start <name> [<base>]
      git flow feature finish <name>
    

    For feature branches, the <base> arg must be a commit on develop.

  • To push/pull a feature branch to the remote repository, use:

      git flow feature publish <name>
        git flow feature pull <remote> <name>
    
  • To list/start/finish release branches, use:

      git flow release
      git flow release start <release> [<base>]
      git flow release finish <release>
    

    For release branches, the <base> arg must be a commit on develop.

  • To list/start/finish hotfix branches, use:

      git flow hotfix
      git flow hotfix start <release> [<base>]
      git flow hotfix finish <release>
    

    For hotfix branches, the <base> arg must be a commit on master.

  • To list/start support branches, use:

      git flow support
      git flow support start <release> <base>
    

    For support branches, the <base> arg must be a commit on master.

Showing your appreciation

A few people already requested it, so now it's here: a Flattr button.

Of course, the best way to show your appreciation for the original blog post or the git-flow tool itself remains contributing to the community. If you'd like to show your appreciation in another way, however, consider Flattr'ing me:

Flattr this

More Repositories

1

git-toolbelt

A suite of useful Git commands that aid with scripting or every day command line usage
Shell
1,175
star
2

vim-flake8

Flake8 plugin for Vim
Vim Script
1,053
star
3

vimrc

My personal Neovim configuration, with a lot of love put into it.
Vim Script
548
star
4

times

Times and time zones in Python with a focus on best practices.
Python
394
star
5

decoders

Elegant validation library for type-safe input data (for TypeScript and Flow)
JavaScript
351
star
6

cookiecutter-python-cli

Python
186
star
7

itertools

TypeScript port of Python's awesome itertools stdlib.
TypeScript
139
star
8

vim-rst-tables

Easily create and reformat your RST (reStructuredText) tables as you change cell content.
Python
121
star
9

dotfiles

Shell
94
star
10

shFlags

Git mirror of the shFlags project by Kate Ward
Shell
89
star
11

vim-pyunit

Plugin enabling advanced unit test support inside your favorite editor.
Python
74
star
12

lemons.js

๐Ÿ‹ Common algebraรฏc data types for JS
JavaScript
59
star
13

SimpleAES

AES-256 encryption and decryption in Python for mere mortals.
Python
55
star
14

vim-togglemouse

Toggles the mouse focus between Vim and your terminal emulator, allowing terminal emulator mouse commands, like copy/paste.
Vim Script
52
star
15

python-fu

Python command line tools, for increased fu.
Python
46
star
16

vim-pep8

This project is superseded by vim-flake8!
Vim Script
38
star
17

sr

A simple mass search & replace tool
Rust
30
star
18

osx-install

Personal OSX install scripts / notes
Shell
26
star
19

vim_bridge

A Python-to-Vim bridge decorator that allows transparent calls to Python functions in native Vim scripts.
Python
23
star
20

pluck

General-purpose function to pluck fields from an iterable's values.
Python
21
star
21

dictmerge

Merge dicts without mutating them.
Python
16
star
22

git-it

Git issue tracker
Python
14
star
23

python-drainers

Event-based draining of process output
Python
13
star
24

new_workers

Python
13
star
25

vim-pyflakes

This project is superseded by vim-flake8!
Vim Script
11
star
26

rule-of-law

A sanity checker to verify assumptions about data consistency
JavaScript
8
star
27

debrief.js

Object serialization and annotation, for use in human-friendly error messages
JavaScript
8
star
28

even-more-itertools

Even more itertools than the stdlib and the more-itertools project provide.
Python
8
star
29

scripts

A collection of simple and small but useful UNIX shell scripts.
Shell
6
star
30

BKrypt

Thin wrapper around the bcrypt library.
Python
6
star
31

nox-ideas

Ideas for a new kind of programming language
6
star
32

vim-ini

Syntax highlighting for INI files in Vim.
Vim Script
6
star
33

Convenience

Convenience Cocoa classes, extending default functionality for a bunch of Cocoa objects.
Objective-C
5
star
34

VDOrderedEntityMigrationPolicy

Custom migration policy class for migrating Core Data entities with ordered relationships (i.e. entities that inherit from BWOrderedManagedObject).
Objective-C
4
star
35

ast-generator

TypeScript
3
star
36

syncfrom

Super-duper easy rsync wrappers for your home setup
Shell
3
star
37

Xcode-Extensions

Custom made Xcode extensions
Objective-C
3
star
38

homebrew-tap

Personal taps for Homebrew
Ruby
2
star
39

vim-nox

Nox syntax highlighting for Vim
Vim Script
1
star
40

nvie

1
star
41

clean-project

Repo to demonstrate a bug in Bun
TypeScript
1
star