You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Added
Search in files (⌘⇧F / Ctrl+Shift+F, or from Quick Switch) finds text across the working tree or any branch or tag, with match case, whole word and regular expression options. Clicking a match opens it in your editor. (#40)
Stage, unstage or discard single lines: click the line numbers of the changes you want in a hunk, then use its Stage lines button. (#41)
Worktrees: a Worktrees section in the Nav Pane lists, adds, opens and removes worktrees, so several branches can be checked out at once in their own folders. The branch list marks branches checked out in another worktree. (#42)
Submodules and Git LFS: a Submodules section (in repositories that have them) shows each one's state and can update or open them, and a changed submodule shows the commits it moved between instead of a commit hash. Files stored in Git LFS are labelled, show their size change instead of pointer text, and say when Git LFS isn't installed. (#43)
Changed images are shown as images instead of "Binary file changed": side by side, with a swipe slider, or as an onion skin. Works for PNG, JPEG, GIF, WebP, BMP, ICO, AVIF and SVG. (#23)
Clicking a changed file in a commit's details opens its diff in a large window, with the commit's other files beside it, instead of a cramped diff in the narrow pane. (#58)
Expand diff in Working Copy hides the file list so the diff runs across to the sidebar, for reviewing long or wide changes. (#56)
Wrap lines in the diff toolbar turns line wrapping off, so long lines stay on one row and the diff scrolls sideways. In a split diff each side keeps half the width with its own scroll bars, and scrolling one side scrolls the other. Remembered across the app. (#57)
Show changes on a stash lists the files it changed, with a diff for each, including untracked files it saved. (#18)
Stash just some files: select them in Working Copy, across Staged and Unstaged (shift-click for a range, ⌘- or Ctrl-click for single files), and choose Stash from the right-click menu. Other staged files stay out of the stash. A new stash can also Keep staged changes, stashing only what isn't staged. (#37)
Two more ways to merge a branch from its right-click menu: Merge into current (no fast-forward) always makes a merge commit, and Squash into current stages the branch's changes as one change for you to commit, with the squashed commits listed in the commit message to start from. (#22)
Pull with rebase: shift-click the header's Pull button, or choose Pull (rebase) in Quick Switch. Plain Pull still follows your pull.rebase setting. (#21)
Check out a commit from History to look at an old version. The header and status bar show HEAD and the commit while it's detached. (#36)
Set upstream… and Unset upstream in a branch's right-click menu, to choose or remove the remote branch it tracks without pushing. (#38)
Delete on remote removes a branch from its remote, from a branch's right-click menu or from a remote branch in the branch dropdown. (#19)
Delete on remote for a tag removes it from the remote it was pushed to, so it no longer comes back on the next fetch. (#20)
A Fetch button next to "fetched … ago" in the header, and a Prune checkbox beside it that also removes remote branches deleted on the remote whenever you fetch all remotes. The checkbox is remembered. (#14)
Fixed
Force push now always updates the branch's own upstream. Before, a branch tracking a differently named remote branch (local feature tracking origin/feat-x) was force-pushed to origin/feature instead, and a remote with a / in its name wasn't found. (#24)
Revert and Cherry-pick work on merge commits, using the changes the merge brought in, so a merged pull request can be backed out. They used to fail with Git's "no -m option was given" error. (#35)
A commit with a long description no longer pushes its changed files out of reach in the Commit detail pane; the pane scrolls instead. (#58)
Switching branches, merging, pulling or cherry-picking over uncommitted or untracked changes now says so and suggests committing or stashing first, instead of "Git command failed."
Merging a branch that's already merged says "Already up to date. Nothing to merge." instead of doing nothing.
In Branch Graph & History, long branch and tag names no longer run over the author column. They shorten to fit, with the full name on hover, and the commit message stays visible.
Checking out a remote branch from the branch dropdown or Quick Switch works when the remote's name contains a /, such as team/origin. (#33)
On Windows the installer puts Current Client in C:\Program Files\Current Client, rather than in a folder named after the publisher. Installing over 0.1.1 or earlier removes the old C:\Program Files\Garrett Speager\Current Client folder. (#15)