An upgrade of gitflow

Last week, I silently tagged gitflow 0.2. The most important changes since 0.1 are:

  • Order of arguments changed to have a more “gitish” subcommand structure. For example, you now say:
    git flow feature start myfeature
  • Better initializer. git flow init now prompts interactively to set up a gitflow enabled repo.
  • Added a command to list all feature/release/hotfix/support branches, e.g.:
    git flow feature list
  • Made all merge/rebase operations failsafe, providing a non-destructive workflow in case of merge conflicts.
  • Easy diff’ing of all changes on a specific (or the current) feature branch:
    git flow feature diff [feature]
  • Add support for feature branch rebasing:
    git flow feature rebase
  • Some subactions now take name prefixes as their arguments, for convenience. For example, if you have feature branches called “experimental”, “refactoring” and “feature-X”, you could say:
    git flow feature finish ref

    And gitflow will know you mean the “refactoring” feature branch.

    These actions are: finish, diff and rebase.

  • Much better overall sanity checking.
  • Better portability (POSIX compliant code)
  • Better (more portable) flag parsing using Kate Ward’s shFlags.
  • Improved installer. To install git flow as a first-class Git subcommand, simply type:
    sudo make install
  • Major and minor bug fixes.

That’s all for now.

  • Temoon

    Great job!

  • Temoon

    Great job!

  • http://theelitist.net Xeross

    Nice work, however as I’m still a windows user the Makefile won’t work, but I’ll try and see if I can make it work with msysgit.

  • http://theelitist.net Xeross

    Nice work, however as I’m still a windows user the Makefile won’t work, but I’ll try and see if I can make it work with msysgit.

  • http://theelitist.net Xeross

    I just tried to see if it works but whenever I try to use a subcommand I get the error
    D:CLIbingitflow/git-flow: line 49: FLAGS: command not found

    I think it runs under cygwin bash, what am I missing here, seems it doesn’t pick up the env vars properly.

  • http://theelitist.net Xeross

    I just tried to see if it works but whenever I try to use a subcommand I get the error
    D:\CLI\bin\gitflow/git-flow: line 49: FLAGS: command not found

    I think it runs under cygwin bash, what am I missing here, seems it doesn’t pick up the env vars properly.

  • Primeminister

    How can I add a message to the release finish command?
    When I try this:

    git flow release finish -m”tag number” “3.0.12″

    I get this error:

    flags:FATAL the available getopt does not support spaces in options

  • Anonymous

    Unfortunately, this is a rather annoying bug in the shFlags implementation, which is know and for which I know no good workaround at the moment. It is filed under http://github.com/nvie/gitflow/issues#issue/28 and will be resolved once the Python rewrite will take a bit more form. This shouldn’t be too long in the future.

    So please be patient and avoid the use of options using git-flow in your environment (which is fairly well possible) :(

blog comments powered by Disqus