Skip to content

v0.6.0

Choose a tag to compare

@github-actions github-actions released this 24 Oct 01:41
· 299 commits to main since this release

Install

Linux (x64, arm64) and macOS (Apple Silicon):

curl -fsSL https://github.com/ThirtyTech/tt-git/releases/download/v0.6.0/install.sh | TTGIT_VERSION=v0.6.0 sh

Windows (x64, arm64), in PowerShell:

$env:TTGIT_VERSION = 'v0.6.0'; irm https://github.com/ThirtyTech/tt-git/releases/download/v0.6.0/install.ps1 | iex

What's changed

New

  • Revert a commit. Press R on a commit in the graph to revert it, after a confirmation. For a merge commit you choose which parent's side to keep. A conflict stops the revert, and you continue or abort it from the status pane.
    Graph
  • Cherry-pick a range. In the graph, v starts a range at the selected commit and moving extends it. C then applies every commit in the range, oldest first. A range that contains a merge commit is refused.
    Graph
  • Conflicts with the base branch. Branches and worktrees that would conflict with the base branch get a ✗n mark (n is the number of conflicting files), and the bottom border names the files for the selected row. The check runs in the background and doesn't touch the repository. It needs git 2.40, and branches.check_merges = false turns it off.
    Branches
  • Fast-forward without checking out. Press F in the branches pane to move a local branch to its upstream without switching to it. It refuses, with a message, for the checked-out branch, a branch with no upstream, a branch that's ahead or has diverged, and a branch checked out in another worktree.
    Branches
  • Discard everything. D in the status pane opens a dialog where you choose what to throw away: everything, unstaged changes, unstaged changes plus untracked files, or untracked files only. It shows what will be lost and what's kept first.
    Status
  • Ignore a file. i in the status pane adds the selected file, or its folder, to .gitignore or .git/info/exclude. If the path is tracked, it asks first and then untracks it.
    Status
  • Hide the graph lanes. L toggles the branch lanes in the graph, and graph.lanes sets the default.
    Graph
  • New plugin events. revert.completed and branch.fast_forwarded are new, and cherry_pick.completed now has a commits array.
    Events

Fixed

  • Worktrees changed outside tt-git. The worktree list now updates by itself when you add, remove, move, lock or prune a worktree in a shell. Before, you had to press ctrl+r. tt-git opened in a linked worktree also picks up branch and worktree changes made from the main one.
    Worktrees

Full Changelog: v0.5.0...v0.6.0