Release GitComet Professional launches 17d 14h 41m 00s

Join the waitlist for the early-adopter price Join waitlist

Getting Started Reviewing Changes

Reviewing Changes

Review diffs, stage individual lines and hunks, compare revisions, edit files, and follow changes with blame in GitComet.

Select a changed file to open its diff. An unstaged diff compares the working tree with the staging area; a staged diff compares the staging area with the current commit.

Find A Commit

With the history list active, press Cmd+F or Ctrl+F. Search matches commit summaries or authors across the whole history, including rows not yet loaded. A plain-text query of at least four hexadecimal characters also matches the start of a commit SHA. Use Match Case, Whole Word or Regex to refine the search; SHA-prefix matching applies while Regex is off.

Use Enter / Shift+Enter in the find bar or F3 / F2 to move between matches. Escape closes the bar. To jump directly to a known SHA, branch, tag or revision such as HEAD~3, use Cmd+G or Ctrl+G.

Arrange Changed Files

The layout button cycles through Flat list, Tree and Groups; right-click it to choose directly. Groups collects files under collapsible change-kind headers. The Sort menu includes Edits: Repeated first, which puts files with matching removed and added lines together. That sort is unavailable for untracked files, which have no line diff.

Settings → Change tracking sets the default changed-file layout and sort. Changing a default replaces the choices made in individual lists.

Read and search a diff

Use Option+I / Alt+I for an inline diff or Option+S / Alt+S for a side-by-side diff. Settings → Diff controls the default diff engine, layout, whitespace comparison, visible whitespace characters, word wrapping, line numbers, and scroll synchronization.

Press Cmd+F or Ctrl+F to search. The search box supports Match Case, Whole Word, and Regex, and Shift+Enter inserts a newline for a multiline search. While search is open, F2 and F3 move through matches; otherwise they move through changes.

F1 and F4 move between working-copy files. Without modifiers, Up / Down, PageUp / PageDown and Home / End move through the list the diff came from, such as a commit, comparison or status list, and stop at its first or last file; the conflict resolver uses F1 / F4 instead. Option+W / Alt+W toggles visible whitespace characters; this is separate from ignoring whitespace when comparing content.

Syntax-aware diffs with Difftastic

GitComet has two diff engines. Line by line, the default, compares changed lines and words. Difftastic parses both versions and highlights only the tokens that changed, so reformatted or rewrapped code produces less noise. Choose the default in Settings → Diff → Diff engine. To switch a single diff viewer, open the cog menu in its toolbar and choose Use default, Line by line or Difftastic; that choice lasts until the viewer closes.

Difftastic works in Split and Inline layouts, with unchanged regions collapsed or shown in full. When two versions differ only in formatting, the collapsed view reports No syntactic changes; text differs and offers Show full text and Show line changes. Ignore whitespace is unavailable while a Difftastic result is shown; your saved whitespace setting is kept.

If Difftastic cannot compare a file, for example an unsupported language, a parse error, a source over 1 MB or a comparison that takes longer than five seconds, the viewer shows the line diff and the reason. Image, binary and conflict views are unchanged.

Partial staging still works: select whole lines, or use the gutter action on a change block, to stage, unstage or discard them. Token-level selections are not supported. See the Difftastic guide for the details.

Stage only what belongs in the commit

GitComet supports staging and unstaging at three levels:

ScopeHow to use it
Whole fileUse the file's stage or unstage action. In the raw working-tree diff, Space also advances to an adjacent file.
HunkUse the action for a changed block in the diff gutter.
Individual linesUse the line staging controls in the gutter to select only part of a change.

Review the staged diff after partial staging. A file can appear in both the staged and unstaged lists because different changes in that file are selected for the next commit.

Discarding a hunk removes those working-tree edits. Unstaging keeps the edits on disk and removes them from the next commit. GitComet asks for confirmation before staging content that still contains conflict markers.

Review Large Files

Git LFS and git-annex files have status chips in changed-file lists and commit details. Their diff cards show object information and whether the actual content is available locally. Install git-lfs or git-annex to enable their commands; Settings → Executables shows whether GitComet can find them.

For LFS files, Download content in a diff card fetches the displayed revisions without changing working files. The changed-file row's download action downloads and checks out that file. LFS files are staged and unstaged as whole files; line and hunk actions are unavailable because Git stores a pointer to the complete content. The LFS guide covers tracking, locks and transfers.

For annexed files, use Get content to retrieve content and Where is it? to inspect recorded locations. The git-annex sidebar and file menus provide copy, move, drop and special-remote actions. See the git-annex guide for copy-count protections, adjusted branches and synchronization settings.

Compare commits, branches, and tags

  1. Right-click the first commit, branch, or tag and choose Mark … for comparison.
  2. Right-click the second item and choose Compare with ….
  3. Select a changed file to inspect its diff.

Choose Clear comparison mark when you are finished. To compare a revision with your current files, use Compare with working tree directly. That comparison refreshes as working-tree files change.

To bring selected file changes onto the current branch, select files in a commit or eligible comparison, right-click and choose Apply change or Apply changes. The confirmation asks whether to commit immediately: Yes applies and commits; No applies without creating a commit so you can review the result first. This applies the selected changes rather than replacing each file with an entire historical snapshot.

Edit a working-tree file

Press Option+E / Alt+E to enter or leave the built-in editor. It provides syntax highlighting, and Cmd+S / Ctrl+S saves while the editor is open, wherever focus is. You can enable Auto-save edits in Settings → File editing.

Saving changes the file on disk. Review and stage those edits separately before committing them. Outside the editor, the same shortcut stages the current file.

Use Cmd+Shift+E / Ctrl+Shift+E to open the active repository in your configured external code editor. Cmd+Shift+L / Ctrl+Shift+L reveals the open file in GitComet's Files sidebar.

Manage Files And Documents

The Files sidebar supports New File, New Folder, Cut, Copy, Paste, Duplicate, Rename, Trash and permanent deletion. File operations change the working tree without staging changes. With the explorer focused, use F2 to rename and Cmd+Z / Ctrl+Z to undo a supported file operation. Permanent deletion requires confirmation and cannot be undone; the file-operation Undo history does not survive an app restart.

The bottom-bar Documents button opens a picker of recent and unsaved files, with Open File and Save All actions. You can open and edit documents outside a repository. Files that belong to a repository are routed to that repository's tab. See the file-management guide for clipboard, drag-and-drop and recovery behavior.

Enter an absolute path or a path starting with ~/ in Documents to open a file directly. The picker remembers up to 50 recent paths across windows and sessions; removing a recent entry does not delete the file. Unsaved buffers remain available when you switch tabs or close their viewer, but save them before quitting the application.

The Files sidebar shows hidden files by default, hides ignored files and excludes .git. Its visibility controls let you change what is shown. Dragging files within the explorer moves them by default; hold Option on macOS or Ctrl on Windows/Linux to copy. Dropping files from another application copies by default; hold Shift to move. When names collide, GitComet offers choices such as keeping both, replacing or skipping.

Preview images and Markdown

GitComet renders images, SVGs, Markdown and Mermaid diagrams, both for single files and in diffs. Return to source mode for raw diff navigation and staging controls.

Images

Image files, image diffs and image conflict previews support zoom and pan. The bottom bar offers Fit, Actual size, zoom steps from 1% to 6400%, and a sampling menu. Drag or scroll to pan, hold Cmd or Ctrl while scrolling to zoom around the pointer, and double-click to fit. At 100%, one image pixel covers one physical screen pixel, whatever the UI scale.

The Auto sampling mode smooths the image below 300% and shows sharp pixels from 300% up; Smooth and Pixels keep one method at every zoom. The choice applies to every window and is kept after a restart. SVGs stay vector-rendered and have no sampling menu.

Comparison panes share zoom and pan. Turn off Linked zoom & pan to give each image its own zoom controls. For an animated GIF or WebP, Pause to inspect freezes the current frame at full detail.

Markdown

Markdown previews also render common HTML, such as headings, emphasis, links, lists, quotes, code, tables and images. A <details> section starts closed unless it has an open attribute; click its heading, or focus the heading and press Enter or Space, to toggle it. Diff previews show every section expanded.

Drag to select text, double-click to select a word or triple-click to select a row, then copy with Cmd+C / Ctrl+C. Click a link to open its menu, or Cmd-click / Ctrl-click to follow it directly. Cmd+F / Ctrl+F searches the rendered text and opens any collapsed section that contains the current match.

Mermaid diagrams

Markdown previews render Mermaid diagrams, and GitComet also previews standalone .mmd and .mermaid files. For Markdown, use a fenced code block labelled mermaid or mmd:

```mermaid
flowchart LR
    Review --> Stage --> Commit
```

Diagrams render locally without a browser or network service. Hold Cmd or Ctrl while scrolling to zoom from 50% to 400%, and double-click to return to 100%. Drag the diagram, or use the scrollbars that appear when it runs past its box, to pan. In Markdown, plain scrolling still scrolls the document.

Each diagram in a Markdown preview has a Preview | Code toggle that shows its source. A diagram taller than 320 px has a Collapse diagram bar, and Show full diagram expands it again. GitComet remembers both choices for the rest of the session.

The native renderer supports 23 diagram families, including flowcharts, sequence diagrams and GitGraph. It supports a subset of mermaid.js syntax and configuration: unsupported configuration produces diagnostics, and malformed input shows its source and error. Diagram source is limited to 1 MiB.

Syntax highlighting is available in diffs and the editor for many programming, configuration, and markup languages. Language support expands between releases; see the changelog for additions.

Follow a line with blame

Use Blame / Annotate for an open file to see which commits introduced its lines. GitComet shades annotations by recency and distinguishes staged and unstaged local changes. Select an annotation to follow the associated commit, or use file history to review changes over time.

File History

File history opens a History tab in the left sidebar, next to Branches and Files. Open it with Ctrl+H in the diff (on macOS too), the Working tree revision badge in the diff, File history in a file's context menu, or the command palette, which lets you choose any tracked file.

The tab lists the commits that changed the file, following renames. Select a commit, or use Up / Down in the tab's filter, to show it in the main diff. The Diff / File switch in the tab header chooses between that commit's changes and the whole file at that commit. Filter by SHA, summary or author; Escape clears the filter, and the × button closes the tab. A row's context menu can open the revision or its parent, show the file's changes, reveal the commit in the main history or copy its SHA.

For the complete key reference, see Keyboard Shortcuts. For conflicting files, continue to interactive conflict resolution.

Documentation

Search

↑↓ move ⏎ open Esc close

Browse the docs or start typing to filter results.