Skip to content

Using GitUp Map View

Pierre-Olivier Latour edited this page Mar 2, 2016 · 2 revisions

Overview

The Map view is the core of the GitUp experience. It lets you visualize and understand the history and topology of your Git repository like no other app or tool can.

More than just visualization, GitUp's Map also offers unprecedented editing power to manipulate commits any way you see fit: edit message, delete, re-order, merge, rebase, etc... Editing is not only intuitive, but also faster than with the Git command line, and much safer thanks to full undo / redo support and persistent snapshots.

Navigating and Customizing the Map

The map area lets you see all the local branches, remote branches and tags of the repository, along with all their commits. Use the mouse or touchpad to pan around the map rapidly.

You can filter what to display with the "Show" menu in the status bar:

  • "Virtual Branch Tips": show branches that have been merged, but not deleted yet, at the top of the map like regular branches but rendered with dotted lines
  • "Stale Branch Tips": show branches that are considered "stale" i.e. last updated more than 60 days ago
  • "Remote Branch Tips": show all remote branches (by default only remote branches that are upstream of local branches are visible)
  • "Orphan Tag Tips": show tags that are not on any branches
  • "Tag Labels": display bubbles next to tagged commits with their names
  • "Branch Labels": display bubbles next to branch tips with their names

If you select a commit in the map by clicking on it, GitUp will display basic information about that commit. Note that you cannot select more than one commit at a time. Once a commit has been selected, you can also jump to neighboring commits using the keyboard arrow keys.

Commits at a Glance with Quick View

Immediately see detailed information and full diff for any commit by selecting it and pressing Spacebar to enter Quick View.

Checking Out Branches or Commits

Simply select the target branch tip or commit and press Return. Note that it's not possible to check out a remote branch: instead GitUp will check out a detached HEAD for that commit (this is the same behavior as the Git command line).

If there are multiple local branches at the same commit, keep pressing Return to switch between them.

Editing the Repository

Editing is where GitUp really shines. Select a commit in the Map and show the contextual menu for it (right-click or Ctrl-click). You can do pretty much anything from simply editing the commit message to rebasing a branch on top of another:

The last section of the contextual menu is dynamic: its content depends on the commit that is selected. For instance, if the tip commit of a remote branch is selected, it will show appropriate operations for a remote branch like fetching it or deleting it from the remote.

Note that not all operations might be allowed depending on the selected commit: for instance most editing operations are disabled if selecting a commit that is not on any local branch (since editing such commits would most likely not be what the user intents).

IMPORTANT: Some operations have alternate versions which are hidden by default. Press Opt or Ctrl while the menu is on-screen to reveal them. For instance, "Diff with HEAD..." becomes "External Diff with HEAD..." letting you view the diff using the external diff tool instead of using GitUp,.

Two operations of particular interest, as they are way more easy to do in GitUp than with the Git command line interface, are commit rewriting and commit splitting.

WARNING: Many of these editing operations will end up rewriting the history for the commit itself and its descendants which can include one or more branches. Unless you completely know what you're doing, do not edit commits that have already been pushed to the server and shared with the rest of your team.

High-Speed Editing with Quick Keys

Quick Keys is the idea that you can edit the repository the same way professional photo or video editors work: mostly using the keyboard and with minimal friction.

You will notice in the editing contextual menu that each operation has an associated keyboard shortcut. Just use this shortcut instead of the contextual menu to perform the editing operation faster. For instance to edit the message of a commit:

  1. Select it with the mouse or keyboard arrow keys
  2. Type E
  3. Edit the commit message
  4. Type Opt-Return

Keyboard Shortcuts

IMPORTANT: For keyboard shortcuts for operations, see Quick Keys above.

  • While in Map
  • . (period) to show the contextual menu for the selected commit
  • Cmd-Arrow up to jump to the top of the map
  • Cmd-Arrow down to jump to the bottom of the map
  • Cmd-Arrow left to jump to the left of the map
  • Cmd-Arrow right to jump to the right of the map
  • While editing a commit message
  • Return to insert a newline in the commit message
  • Opt-Return to save

Tips

  • If you want to operate on a branch, be sure to select its tip commit first, then show the contextual menu or use Quick Keys
  • You can copy the SHA1 of any commit by selecting it and then pressing Cmd-C or using "Copy" from the "Edit" menu
  • You can create pull requests for GitHub, BitBucket and GitLab directly from the last section of the contextual menu if the tip of a remote branch is selected