Skip to content
yaggui docsNext (unreleased)

Introduction

yaggui is a graphical Git client for macOS, Windows and Linux. It runs on your computer, works with your own git installation, and shows every Git command it runs. This page sums up what yaggui does, what it leaves out, and how to read the rest of the docs.

  • Your own Git. yaggui reads repositories directly for speed, and runs the git command installed on your system for every change it makes. Your hooks, your configuration, your credential helper and your ssh-agent apply, as in a terminal. You need Git 2.30 or later; see Install yaggui.
  • No account, no telemetry. yaggui never asks you to sign in and sends no usage data.
  • Network only when you ask for it. yaggui contacts a server for Git operations (clone, fetch, pull, push, auto-fetch) and for two features that are off until you turn them on:
    • Gravatar avatars: a hash of each author’s e-mail is sent to gravatar.com. See Preferences.
    • Update check: yaggui reads the latest release on github.com at launch. See Updates.
  • No stored secrets. yaggui never asks for or stores a password or token. Credentials come from your Git credential helper or ssh-agent; see Authentication.

What yaggui keeps on disk (recent repositories, tabs, preferences) is listed in Data and privacy.

Area What you can do Start here
Getting started Install, open, clone or initialize a repository, find your way around the window Open a repository, Tour of the window
Everyday work Stage files, hunks or single lines, commit and amend, stash, read diffs Staging, Committing, Stash, Diff
History Browse the commit graph, manage branches and tags, merge, rebase, cherry-pick, revert, reset, rebase interactively, resolve conflicts, undo Commit graph, Branches, Undo and redo
Remotes Fetch, pull and push, manage remotes, set up credentials Fetch, pull and push, Remotes, Authentication
Inspect Compare branches, read a file’s history and blame, browse the reflog Compare, File history and blame, Reflog
Repository Submodules, worktrees, Git LFS, the integrated terminal Submodules, Worktrees, Git LFS, Terminal
Workspaces Work with several repositories in tabs, group them in workspaces Tabs, Workspaces
Customize Themes, language, shortcuts, external tools, Git configuration Appearance, Palette and shortcuts, External tools, Git configuration
Reference and help Every shortcut, setting and error message; troubleshooting Reference, Troubleshooting, FAQ

These are outside the scope of yaggui:

  • Integration with hosting services: no pull requests, issues or reviews from GitHub, GitLab or Azure DevOps.
  • Syncing preferences through a cloud service.
  • AI-generated commit messages.
  • Creating or managing GPG and SSH keys. yaggui uses the keys you already have.
  • Version control systems other than Git.

These are not available in the current version:

  • Bare repositories. Opening one shows “Bare repositories are not supported yet.”
  • Several windows. Each repository opens in a tab of the same window.
  • Starting a bisect. A bisect started in a terminal is detected, and you can skip a commit or stop it from the operation banner; see Conflicts.
  • Creating or applying patches. A git am started in a terminal is detected and can be continued, skipped or aborted from yaggui.
  • A first-parent view of the graph, and the history of a line range (git log -L).
  • Fixup commits from the graph (the Create fixup commit… menu item is shown as planned), co-author trailers, and applying a single file from a stash.
  • Adding, removing or syncing submodules; see Submodules for what is available.
  • System notifications when a long operation finishes in the background.
  • Importing or exporting preferences.
  • A dialog to type a password or token when authentication fails. Configure a credential helper or ssh-agent instead.

Shortcuts are written for macOS first, then for Windows and Linux when they differ: ⌘K (Ctrl+K on Windows and Linux). When a shortcut uses the Control key on every system, it is written once, for example Ctrl+Tab.

Every shortcut in these docs is a default. You can change any of them; see Palette and shortcuts. The full list is in Keyboard shortcuts, and ⌘/ (Ctrl+/ on Windows and Linux) shows it inside the app.

Most actions are also in the command palette: press ⌘K (Ctrl+K on Windows and Linux) and type a few letters of the action.

Many local operations can be undone with Undo in the toolbar or ⌘Z (Ctrl+Z on Windows and Linux): commits, checkouts, resets, discards, branch changes, and more. Each page says whether its actions can be undone. What can and cannot be undone, and for how long, is explained in Undo and redo.

yaggui records every Git command it runs, with its output, exit code and duration. Open the log with ⌘J (Ctrl+J on Windows and Linux) or the Log button (it shows the number of commands, as in Log (12)) at the right of the status bar. When these docs show the command an action runs, you can check it there. See Command log.

When a Git command fails, yaggui shows a plain-language message, the raw Git output under Details, and, when it can, a button that fixes or explains the problem. Every message is listed in Error messages.