Skip to content

File history, blame, and compare

Follow one file through time, attribute every line, and diff any two refs.

Updated View as Markdown

Three related views share one surface and one breadcrumb header, so you can move between them without losing your place: file history, blame, and compare.

File history

Open any file’s history to get its revisions newest-first. Selecting one shows its diff alongside an inspector with:

  • The short SHA, with Copy SHA
  • The commit subject, author, and relative age
  • Open this commit — jump the graph to it
  • Blame at this revision — switch to blame as of that commit, not as of now

Renames are followed

When a revision renamed the file, the inspector says so explicitly and names the previous path. History continues through the rename rather than stopping at the point the name changed — which is the usual reason a file appears to have no history before a certain date.

Deletions are marked

If the file was deleted, that revision is flagged as the deletion rather than appearing as an ordinary change.

Blame

Blame attributes every line to the commit that last changed it.

Lines are grouped into runs — consecutive lines from the same commit share one gutter entry instead of repeating the SHA on every row — and each commit gets a deterministic colour drawn from the same lane palette as the commit graph, so a blame view reads like the graph does. Ages are compact in the gutter (2d, 3wk, 6mo).

Select a line to inspect the commit behind it, and jump from there into the graph.

Limits. Blame isn’t available for binary files, and GitLane says so rather than rendering noise. Very large files are capped: you get the first N lines with a banner telling you the view is truncated.

Compare

Compare diffs any two refs. Pick a scope:

Scope Compares
Upstream Your branch against its upstream
Branch Two branches
Commit Two commits
Working The working tree against a ref

You get a range bar naming both ends — with a swap control, for when you picked them the wrong way round — a filterable list of changed files, and the selected file’s diff in the same renderer used everywhere else.

Very large compare results are bounded: the file list renders up to a cap so a huge range doesn’t stall the view. Use the path filter to narrow it.

Getting here

File history and blame open from a file in the changes panel, a commit’s file list, or the in-repository file browser. Compare opens from the graph — pick two refs and compare them.

Navigation

Type to search…

↑↓ navigate↵ selectEsc close