Peter Oberndorfer edited this page Nov 23, 2011 · 9 revisions
Clone this wiki locally

qgrit (Qt git rebase --interactive tool)

This helper allows you to graphically reorder commits during "git rebase -i"
It avoids all sorts of problems when manually editing rebase todo files.


  • Commits can be moved/reordered by Drag & Drop or by up/down buttons.
  • Multiple commits can be moved up/down in a single step
  • Actions for modifying commits can be selected from a combo box.
  • Easy aborting of the rebase(no need to delete all lines in a text file)
  • Easy way of undoing all changes made to the list and start over again
  • Commits are sorted in the same order as in gitk, no more confusion about order
  • Tooltips explaining different actions (pick, edit, reword, squash, fixup)
  • Tooltips contain full commit message, not only subject line
  • Tooltips contiain a list of changed files


  • Add possibility to jump to gitk by right clicking a line
  • Highlight commits that touch the same file, but are in wrong order(potential conflict)
  • Drag/Drop of several commits can change order of dragged commits (Seems to be a Qt bug in QTreeWidget)
  • Handle files only containing noop, happens when starting "git rebase -i HEAD"
  • create a Windows installer/provide portable zip files

Action selection:

qgrit: action tooltips

Full commit message as tooltip:

  • list of changed files in the tooltip
  • commits modifying the same files marked in yellow

qgrit: full commit message as tooltip

Setting qgrit as git rebase -i editor:

qgrit: setting as git rebase -i editor