Skip to content
Bertrand Le Roy edited this page Feb 28, 2018 · 7 revisions

Welcome to the MidnightGit wiki!

We'll use this to brainstorm ideas for now.

Screen layout

At all times, the screen is divided, like in Midnight Commander, with a menu bar on top, a large rich interactive zone taking most of the screen, a few lines of command-line, and a command bar on the bottom. The command bar shows the mapping of contextual commands to function keys.

Features

Revision graph

A view of recent commits with graphical representation of merges.

Each line features by default (customization could be added down the line):

  • Colored lines representing branches and merges
  • Branch tags (red for local, green for remote)
  • Commit title
  • Author
  • Timestamp (in "ago" format for recent ones)
  • Hash

Navigation can be done using arrow keys, page up and down, end and home keys.

Enter opens a detailed view of the commit.

Detailed commit view

The detailed view of a commit has two tabs: detailed information about the commit, and diff visualization (default).

The diff visualization shows a list of the files on the left (restricted to the committed files by default, can switch ta a tree of the whole repo with committed files color-coded to be easily recognized), and the diff of the currently selected file on the right.

Open / create / clone repo

New commit

Push

Interactive rebase

Create / delete branch

Checkout branch

Pull / Fetch

Merge

Manage submodules

Cherry pick

.gitignore

Stash

Reset

File history

Blame

What else?