- Supports Windows/macOS/Linux
- Opensource/Free
- Fast
- Deutsch/English/Español/Français/Italiano/Português/Русский/Українська/简体中文/繁體中文/日本語/தமிழ் (Tamil)
- Built-in light/dark themes
- Customize theme
- Visual commit graph
- Supports SSH access with each remote
- GIT commands with GUI
- Clone/Fetch/Pull/Push...
- Merge/Rebase/Reset/Revert/Cherry-pick...
- Amend/Reword/Squash
- Interactive rebase
- Branches
- Remotes
- Tags
- Stashes
- Submodules
- Worktrees
- Archive
- Diff
- Save as patch/apply
- File histories
- Blame
- Revision Diffs
- Branch Diff
- Image Diff - Side-By-Side/Swipe/Blend
- Git command logs
- Search commits
- GitFlow
- Git LFS
- Bisect
- Issue Link
- Workspace
- Custom Action
- Using AI to generate commit message (C# port of anjerodev/commitollama)
Warning
Linux only tested on Debian 12 on both X11 & Wayland.
You can find the current translation status in TRANSLATION.md
To use this tool, you need to install Git(>=2.25.1) first.
You can download the latest stable from Releases or download workflow artifacts from GitHub Actions to try this app based on latest commits.
This software creates a folder $"{System.Environment.SpecialFolder.ApplicationData}/SourceGit", which is platform-dependent, to store user settings, downloaded avatars and crash logs.
| OS | PATH |
|---|---|
| Windows | %APPDATA%\SourceGit |
| Linux | ${HOME}/.config/SourceGit or ${HOME}/.sourcegit |
| macOS | ${HOME}/Library/Application Support/SourceGit |
Tip
- You can open this data storage directory from the main menu
Open Data Storage Directory. - You can create a
datafolder next to theSourceGitexecutable to force this app to store data (user settings, downloaded avatars and crash logs) into it (Portable-Mode). Only works on Windows.
For Windows users:
- MSYS Git is NOT supported. Please use official Git for Windows instead.
- You can install the latest stable from
wingetwith follow commands:winget install SourceGit
Note
winget will install this software as a commandline tool. You need run SourceGit from console or Win+R at the first time. Then you can add it to the taskbar.
- You can install the latest stable by
scoopwith follow commands:scoop bucket add extras scoop install sourcegit
- Pre-built binaries can be found in Releases
For macOS users:
- Thanks @ybeapps for making
SourceGitavailable onHomebrew. You can simply install it with following command:brew tap ybeapps/homebrew-sourcegit brew install --cask --no-quarantine sourcegit
- If you want to install
SourceGit.appfrom GitHub Release manually, you need run following command to make sure it works:sudo xattr -cr /Applications/SourceGit.app
- Make sure git-credential-manager is installed on your mac.
- You can run
echo $PATH > ~/Library/Application\ Support/SourceGit/PATHto generate a custom PATH env file to introducePATHenv to SourceGit.
For Linux users:
-
Thanks @aikawayataro for providing
rpmanddebrepositories, hosted on Codeberg.debhow to:curl https://codeberg.org/api/packages/yataro/debian/repository.key | sudo tee /etc/apt/keyrings/sourcegit.asc echo "deb [signed-by=/etc/apt/keyrings/sourcegit.asc, arch=amd64,arm64] https://codeberg.org/api/packages/yataro/debian generic main" | sudo tee /etc/apt/sources.list.d/sourcegit.list sudo apt update sudo apt install sourcegit
rpmhow to:curl https://codeberg.org/api/packages/yataro/rpm.repo | sed -e 's/gpgcheck=1/gpgcheck=0/' > sourcegit.repo # Fedora 41 and newer sudo dnf config-manager addrepo --from-repofile=./sourcegit.repo # Fedora 40 and earlier sudo dnf config-manager --add-repo ./sourcegit.repo sudo dnf install sourcegit
If your distribution isn't using
dnf, please refer to the documentation of your distribution on how to add anrpmrepository. -
AppImagefiles can be found on AppImage hub,xdg-open(xdg-utils) must be installed to support open native file manager. -
Make sure git-credential-manager or git-credential-libsecret is installed on your Linux.
-
Maybe you need to set environment variable
AVALONIA_SCREEN_SCALE_FACTORS. See https://github.com/AvaloniaUI/Avalonia/wiki/Configuring-X11-per-monitor-DPI. -
If you can NOT type accented characters, such as
ê,ó, try to set the environment variableAVALONIA_IM_MODULEtonone.
This software supports using OpenAI or other AI service that has an OpenAI compatible HTTP API to generate commit message. You need configurate the service in Preference window.
For OpenAI:
Servermust behttps://api.openai.com/v1
For other AI service:
- The
Servershould fill in a URL equivalent to OpenAI'shttps://api.openai.com/v1. For example, when usingOllama, it should behttp://localhost:11434/v1instead ofhttp://localhost:11434/api/generate - The
API Keyis optional that depends on the service
This app supports open repository in external tools listed in the table below.
| Tool | Windows | macOS | Linux |
|---|---|---|---|
| Visual Studio Code | YES | YES | YES |
| Visual Studio Code - Insiders | YES | YES | YES |
| VSCodium | YES | YES | YES |
| Cursor | YES | YES | YES |
| Fleet | YES | YES | YES |
| Sublime Text | YES | YES | YES |
| Zed | NO | YES | YES |
| Visual Studio | YES | NO | NO |
Note
This app will try to find those tools based on some pre-defined or expected locations automatically. If you are using one portable version of these tools, it will not be detected by this app.
To solve this problem you can add a file named external_editors.json in app data storage directory and provide the path directly. For example:
{
"tools": {
"Visual Studio Code": "D:\\VSCode\\Code.exe"
}
}Note
This app also supports a lot of JetBrains IDEs, installing JetBrains Toolbox will help this app to find them.
-
Dark Theme
-
Light Theme
-
Custom
You can find custom themes from sourcegit-theme. And welcome to share your own themes.
Everyone is welcome to submit a PR. Please make sure your PR is based on the latest develop branch and the target branch of PR is develop.
In short, here are the commands to get started once .NET tools are installed:
dotnet nuget add source https://api.nuget.org/v3/index.json -n nuget.org
dotnet restore
dotnet build
dotnet run --project src/SourceGit.csprojThanks to all the people who contribute.
For detailed license information, see THIRD-PARTY-LICENSES.md.

