Skip to Content

History

The History tab is a paged commit graph for the open repository. It reads through the system git, so it shows exactly what git log would show for the same refs and filters.

The graph

  • Commits are listed newest first with lanes for merges and branches.
  • The list loads in pages; scrolling to the end loads more (or you press Load more when automatic loading is off or failed).
  • By default the graph follows the current branch. Switch to All branches to see everything, or filter to a single branch from the branch header.
  • Selecting a commit shows its message, author, committer, parents, refs and file list.

Each file in a commit can be previewed in place, saved to disk, or restored into the working tree. Restoring is a working-tree write; it does not move any ref.

Search and filters

  • Free text matches commit subject and body.
  • author: restricts to an author string.
  • content: searches added and removed content, not just the message.
  • since: and until: restrict by date.

The filter is passed to git log, not applied to the visible rows, so a match deep in history is found. Results arrive 50 at a time; Load more continues from where the list stopped.

Commit diffs respect the ignore whitespace toggle, which is useful for filtering reformat-only commits out of a review.

Commit actions

ActionWhat it does
Copy commit hash / linkPuts the hash or the forge URL on the clipboard
Copy or save patchWrites git format-patch output for one commit or a range
Save archiveWrites a ZIP of the tree at that commit
Cherry-pickApplies one or more selected commits onto the current branch
RevertCreates revert commits for one or more selected commits
RewordOpens the message in an editor and rewrites it
SquashSquashes a contiguous selection into the oldest selected commit
Copy format-patch rangeCopies patches for A..B
Show branches containing this commitLists local and remote branches whose history includes the commit
File historyOpens history restricted to a path, from any commit
BlameOpens blame for a file at that commit

Multi-select uses Cmd/Ctrl-click and Shift-click. Git decides whether an action is possible in the current state; when it refuses, its message is shown with the matching error code rather than a generic failure.

Rewriting history

Rewrites are explicit and previewable.

  • Interactive rebase opens an editable todo list: drop, squash, fixup, reword, edit. Rows can be reordered by dragging, and --autosquash folds fixup! and squash! commits into their targets automatically.
  • Reword any commit runs a one-step interactive rebase that stops, rewrites the message and continues.
  • Split the HEAD commit lets you choose hunks for each new commit. A backup ref is written before the split so the original commit stays reachable, including when the split happens at an interactive-rebase edit stop.
  • Recorded rewrites keep a list of the ranges you rewrote and compare old against new with git range-diff.
  • Abort stops the in-progress rebase and restores the pre-rebase state. The abort path also writes a recovery snapshot of the work tree.

If a rewrite hits a conflict, you land in the conflict resolver, then continue or abort from the same banner.

Reflog

The reflog view lists HEAD movements and per-branch reflogs with a search field. From an entry you can copy the hash, inspect the commit, or reset to it:

  • --soft keeps the index and working tree.
  • --mixed keeps the working tree.
  • --hard discards both, and therefore writes a recovery snapshot first.

Reflog entries are local and expire on Git’s own schedule. They are not a backup of the work tree.

Signatures

Commits with a GPG or SSH signature show a badge. Verification is performed by Git: the badge distinguishes a good signature from a bad one, an untrusted signer, an expired or revoked key, and a signature that cannot be checked. Tags carry the same information in the Branches tab.

Signing is configured per repository through commit.gpgsign, with the key and format set in Settings.

Reviewing a branch

For a feature branch, Review branch sends base...HEAD to the configured ACP agent and shows the scope before sending. The result is a list of findings, each tied to a file and commit; findings need an explicit accept step. When the review finishes, a receipt records what was sent and which commit range it covered.

This is advisory. Nothing from a review is committed, staged or rewritten automatically. See ACP agents for the trust boundary.

Next

  • Branches — branches, tags, remotes, stashes, worktrees, bisect.
  • Conflicts — resolve what a rebase or merge stops on.
  • Recovery — undo a reset or a rewrite.
Dernière mise à jour