This page outlines the installation of the gitflow scripts on the three major distributions of git. Please follow the directions for your git distribution.
For Windows users, msysgit is a good starting place for installing git.
For Windows users who wish to use the automated install, it is suggested that you install Cygwin
first to install tools like
wget (with those three being packages that can be selected
during installation). Then simply run this command from a Cygwin shell in your
$ wget -q -O - --no-check-certificate https://github.com/nvie/gitflow/raw/develop/contrib/gitflow-installer.sh | bash
If you are on a restricted user account, you can switch the installation location with the INSTALL_PREFIX environment variable:
$ export INSTALL_PREFIX=$USERPROFILE/bin # Run wget command above
Of course, the location you install to should be in
If you get the error "flags: FATAL unable to determine getopt version" error after
$ git flow init
you need to install the
util-linux package using the Cygwin setup.
If you get something like "$'\r': command not found" then it's a problem with your line endings. You should run the following:
$ sed -i 's/\n\r/\n/mg' /usr/local/bin/git-flow* $ sed -i 's/\n\r/\n/mg' /usr/local/bin/gitflow-*
Download and install
getopt.exe from the util-linux package into
C:\Program Files\Git\bin. (Only
getopt.exe, the others util-linux files are not used). Also install
libiconv2.dll from the Dependencies packages (libintl and libiconv), into the same directory.
Clone the git-flow sources from GitHub:
$ git clone --recursive git://github.com/nvie/gitflow.git $ cd gitflow
msysgit-install script from a command-line prompt (you may have to
run it with "Full Administrator" rights if you installed msysgit with its
installer, and ensure you're running from a Windows command prompt, not MINGW):
In Git bash create a symbolic link for git-flow so that you can actually use the
$ git flow command from any location.
$ ln -s /C/gitflow/git-flow git-flow
GitHub for Windows uses a portable installation of MSysGit for its shell. You'll need to follow the above instructions for MSysGit, except for two differences, both of which rely on the install location for GHfW's MSysGit install location. To find that location:
Navigate to the GitHub directory under the OS's "Local Application Data" directory. On Windows 7, it is located at: "%LOCALAPPDATA%\GitHub\Portab~1".
Once you have the location, use it to perform the following (refer to the above MSysGit instructions above for more details):
libiconv2.dll to the
bin directory directly under the location found above. In Windows 7, you would copy the files to:
Open the GitHub for Windows Git Shell and check that you are in the GitHub root directory e.g.
Clone the GitFlow folder with
C:\GitHub> git clone --recursive git://github.com/nvie/gitflow.git
This will clone the GitFlow code into a new
gitflow folder in your GitHub directory. You can select a different location if you prefer or you can remove the GitFlow clone later.
Change to the GitFlow directory:
C:\GitHub> cd gitflow
msysgit-install script with the location as a parameter. For example:
C:\GitHub\gitflow [develop]> contrib\msysgit-install.cmd "%LOCALAPPDATA%\GitHub\Portab~1"
Check that GitFlow is installed by calling the help:
C:\GitHub> git flow help
GitHub for Windows auto-updates itself, and when it does, you may lose GitFlow. This PowerShell script can be used to re-install things quickly. Keep this script and a local copy of the getopt.exe and two DLL files somewhere handy, and the gitflow repository in a sub-directory. Then just execute the script whenever needed.
$github = $env:LOCALAPPDATA + '\GitHub\Portab~1' $githubBin = $github + '\bin' Copy-Item getopt.exe $githubBin Copy-Item *.dll $githubBin Invoke-Expression ".\gitflow\contrib\msysgit-install.cmd '$github'"