Your comments

This is the screenshot of a Mercurial repository. In Git this is impossible.

Maybe it makes sense to have a View-menu option to show/hide submodule entries in the file table regardless of their modified state? If unselected, hiding uninitialized submodules also could be possible - currently, they always show up.

For "Add" and "Remove" are a pair of opposite actions. "Delete" is something else. At least in one other Git client I saw "Track" instead of "Add" and "Untrack" instead of "Remove". Would this have been better for you?

Please try the 17.1 preview and use Interactive Rebase - it also is available for the HEAD's history in the Log window.

Please make clear in your screenshot what master, origin/master is and what the feature and feature/origin are.

It is very easy.

Way 1: sort the file list by State. Then the conflicting files are all one beside each other.
Way 2: (temporarily) unselect View|Show Stages Files, e.g. by using the corresponding toolbar button.

Why do lots of GIT branching papers use a horizontal layout? I think because it's more intuitive and compact (because text is naturally drawn horizontally).

Because in a text document a horizontal graphic needs less space and because the commit message information is not shown.

This could be dangerous if you are in the wrong branch and have already started with a new feature (e.g. created a new file) and then want to switch to the right branch for commit - bang, your changes are lost. I don't want the user to blame us for having added such a dangerous option.