/gitflow4code

git-flow extension for VS Code

Primary LanguageTypeScriptMIT LicenseMIT

gitflow4code

gitflow-avh Implementation for Visual Studio Code

This extension adds support for the feature branching strategy described here in Vincent Driessen's branching model. The implementation used by this extension is similar to the functionality offered by git-flow (AVH Edition).

What's included

  • Initialize a repository with default or custom values for branch naming (i.e. 'develop', 'master', 'feature/', etc)
  • Start/Finish Feature branches from "development", or from other branch bases
  • Start/Finish Release branches from "development", or from other branch bases
  • Start/Finish Hotfix branches from "production", or from other branch bases
  • Get the status of a git repository

Dependencies

  • git (if you have installed VS Code, this should also already exist on your machine)

Getting Started

Accessing gitflow4code commands

From the Command Pallette, type in GitFlow to filter the GitFlow commands

GitFlow Command

Initialize

Choose the Initialize Repository command from the list of available gitflow4code commands.

Available GitFlow Commands

Alternately, you can use the shortcut keys listed below

Shortcuts to Initialize Command
  • ⌥⌘/ i on Mac
  • Ctrl+Alt+/ i on Windows

Initialize with default settings

Choose to Initialize with default (i.e. master, develop, feature/, release/, & hotfix/)

Initialize with default

Initialize with custom configuration settings

Choose to Initialize with custom values and then specify the values requested

Initialize master Initialize develop Initialize feature Initialize release Initialize hotfix

These settings are stored and can be edited at any time by re-running the above commands or by editing in the Settings file.

custom settings

Features

Start Feature

Choose the Start Feature command from the list of available gitflow4code commands

Features Command

Alternately, you can use the shortcut keys listed below

Shortcuts to Start Feature Command
  • ⌥⌘/ f on Mac
  • Ctrl+Alt+/ f on Windows

If creating a feature branch off of your development branch, choose Start Feature from <develop> (where develop is the name of whatever you chose to initialize your development branch)

Start Feature

-- or --

If creating a feature branch off another base branch, choose Start Feature from another base branch

Start Feature from another base branch

Then supply the name of your feature branch, and the tool will prefix it with whatever you chose to be the name of your feature branches

Feature Name

Finish Feature

When finished with your feature, choose the Features command from the list of available gitflow4code commands and then choose to Finish Feature

Finish Feature

Alternately, you can use the shortcut keys listed below

Shortcuts to Finish Feature Command
  • ⌥⌘/ ⌘f on Mac
  • Ctrl+Alt+/ Ctrl+f on Windows

Or, use the Finish Feature button in the status bar

Finish Feature

Releases

Start Release

Choose the Releases command from the list of available gitflow4code commands

Releases Command

Alternately, you can use the shortcut keys listed below

Shortcuts to Start Release Command
  • ⌥⌘/ r on Mac
  • Ctrl+Alt+/ r on Windows

If creating a release branch off of your development branch, choose Start Release from <develop> (where develop is the name of whatever you chose to initialize your development branch)

Start Release

-- or --

If creating a release branch off another base branch, choose Start Release from another base branch

Start Release from another base branch

Then supply the name of your release branch, and the tool will prefix it with whatever you chose to be the name of your release branches

Release Name

Finish Release

When finished with your release, choose the Releases command from the list of available gitflow4code commands and then choose to Finish Release

Finish Release

Alternately, you can use the shortcut keys listed below

Shortcuts to Finish Release Command
  • ⌥⌘/ ⌘r on Mac
  • Ctrl+Alt+/ Ctrl+r on Windows

Or, use the Finish Release button in the status bar

Finish Release

Then supply the name of the Tag for this release

Tag Release

Hotfixes

Start Hotfix

Choose the Hotfixes command from the list of available gitflow4code commands

Hotfixes Command

Alternately, you can use the shortcut keys listed below

Shortcuts to Start Hotfix Command
  • ⌥⌘/ h on Mac
  • Ctrl+Alt+/ h on Windows

If creating a hotfix branch off of your production branch, choose Start Hotfix from <master> (where master is the name of whatever you chose to initialize your production branch)

Start Hotfix

-- or --

If creating a hotfix branch off another base branch, choose Start Hotfix from another base branch

Start Hotfix from another base branch

Then supply the name of your hotfix branch, and the tool will prefix it with whatever you chose to be the name of your hotfix branches

Hotfix Name

Finish Hotfix

When finished with your hotfix, choose the Hotfixes command from the list of available gitflow4code commands and then choose to Finish Hotfix

Finish Hotfix

Alternately, you can use the shortcut keys listed below

Shortcuts to Finish Hotfix Command
  • ⌥⌘/ ⌘h on Mac
  • Ctrl+Alt+/ Ctrl+h on Windows

Or, use the Finish Hotfix button in the status bar

Finish Hotfix

Then supply the name of the Tag for this hotfix

Tag Hotfix

Git Status

Choosing this from the gitflow4code commands list will display the current status of the local git repository (same as if running git status on the command line) and displays it in the OUTPUT pane

Git Status

Alternately, you can use the shortcut keys listed below

Shortcuts to Start Hotfix Command
  • ⌥⌘/ s on Mac
  • Ctrl+Alt+/ s on Windows

Git Status Result

Extra

gitflow4code roadmap

  • Ability to configure whether or not remote tracking branches are deleted after finishing

Help Out?

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

Contributing

Fork the repository and then run:

$ git clone -b master git@github.com:<username>/gitflow4code.git
cd gitflow4code

The -b master switch has to be added since the fork operation automatically clones the develop branch of the repository and cloning it results in a local repository with just a develop branch.

After that, initialize the local gitflow4code repository with gitflow4code itself (see Getting Started above). Then create a feature branch, do your work and commit your changes publishing your feature branch.

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