Hi all: I find merging and rewriting the commit history with Git difficult. Is there some graphical tool to merge and reorder commits with the mouse? Or failing that, a good terminal interface with menus and the like which allows merging and reordering in an easy, visual fashion. Here are more details about what I mean. Say I have this commit history: A - B - C [master] I want to visually create a test branch first, by dragging commits B and C together (merging them), and then appending commit A afterwards: A - B - C [master] BC - A [test] Maybe I need to manually merge or fix some commit in the middle of the test branch. I can do that with the normal Git tools and commands I already know. Then I want to keep visually adding commits to the test branch. That is, I want to build the test branch mostly interactively with the mouse. While doing that, I would like to click on the nodes and see the commit messages and patches, like with git-gui. If I manage to complete the test branch (and it compiles cleanly), I then want the test branch to become master, like this: A - B - C - D [now orphaned] BC - A [master] Ideally, I could drag the tag, or right-click on one node and assign a tag. I know I can probably find out all the relevant commit hashes by hand and do all the merging and rearranging with the command line, but even though I am normally a console and command-line fan, I find it especially hard with Git. I have tried or investigated numerous Git tools: git-gui, gitk, Gittyup, GitUI, GitButler, SourceGit, git-cola, Guitar, gitg, tig, giggle, qgit, RabbitVCS, Magit, lazygit, ... They are all fine for normal commits and the like. However, most fall short fairly quickly. For example, the ability to highlight character or word-based changes inside a text line is rare. And none of them really appealed to me when merging, let alone rearrange commits visually. Thanks in advance, rdiez