- Supports Windows/macOS/Linux
- Opensource/Free
- Fast
- Deutsch/English/Español/Français/Italiano/Português/Русский/简体中文/繁體中文
- 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/Amend/Cherry-pick...
- Amend/Reword
- Interactive rebase (Basic)
- 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
- Search commits
- GitFlow
- Git LFS
- Issue Link
- Workspace
- Using AI to generate commit message (C# port of anjerodev/commitollama)
Warning
Linux only tested on Debian 12 on both X11 & Wayland.
Note
You can find the missing keys in TRANSLATION.md
To use this tool, you need to install Git(>=2.23.0) 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 | C:\Users\USER_NAME\AppData\Roaming\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
data
folder next to theSourceGit
executable 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
winget
with 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
scoope
with follow commands:scoop bucket add extras scoop install sourcegit
- Pre-built binaries can be found in Releases
For macOS users:
- Thanks @ybeapps for making
SourceGit
available 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.app
from 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/PATH
to generate a custom PATH env file to introducePATH
env to SourceGit.
For Linux users:
-
Thanks @aikawayataro for providing
rpm
anddeb
repositories, hosted on Codeberg.deb
how 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] 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
rpm
how 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 anrpm
repository. -
AppImage
files can be found on AppImage hub,xdg-open
(xdg-utils
) must be installed to support open native file manager. -
Make sure git-credential-manager 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_MODULE
tonone
.
This software supports using OpenAI or other AI service that has an OpenAI comaptible HTTP API to generate commit message. You need configurate the service in Preference
window.
For OpenAI
:
Server
must behttps://api.openai.com/v1/chat/completions
For other AI service:
- The
Server
should fill in a URL equivalent to OpenAI'shttps://api.openai.com/v1/chat/completions
. For example, when usingOllama
, it should behttp://localhost:11434/v1/chat/completions
instead ofhttp://localhost:11434/api/generate
- The
API Key
is 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 |
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.csproj
Thanks to all the people who contribute.