How to draw (visualise) git workflows

You can describe your flow using JS code. Here is GitGraph.js

- a simple JavaScript library which is meant to help you visually presenting git branching stuff like a git workflow, a tricky git command or whatever git tree you'd have in mind.

GitGraph.js - template "metro"


There are:

  • yWorks - free (Java)
  • LucidChart - web-based
  • draw.io - web-based, free, open source
  • OmniGraffle - mac only, paid with free trial, my personal favourite
  • MS Visio

...to name just a few. There's a lot of GUI tools for this.

If you'd like to write some code and generate pictures out of it, take a look at GraphViz or Ditaa.


I like Visualizing Git, which is open source and runs in your browser. You type in git commands, and it creates the graph.

The below graph was generated by this sequence:

git commit -m "second commit"
git commit
git commit
git checkout HEAD^^
git checkout -b feature
git commit
git commit
git checkout master
git merge feature

graph generated by Visualizing Git