Noisyfox/sourcegit

 
 

Repository files navigation

Opensource Git GUI client.

  • Supports Windows/macOS/Linux
  • Opensource/Free
  • Fast
  • English/简体中文/繁體中文
  • 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...
    • Interactive rebase (Basic)
    • Branches
    • Remotes
    • Tags
    • Stashes
    • Submodules
    • Worktrees
    • Archive
    • Diff
    • Save as /apply
    • File histories
    • Blame
    • Revision Diffs
    • Branch Diff
    • Image Diff - Side-By-Side/Swipe/Blend
  • GitFlow support
  • Git LFS support

Linux only tested on Debian 12 on both X11 & Wayland.

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 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.

OSPATH
WindowsC:\Users\USER_NAME\AppData\Roaming\SourceGit
Linux${HOME}/.config/SourceGit
macOS${HOME}/Library/Application Support/SourceGit

For Windows users:

  • MSYS Git is NOT supported. Please use official Git for Windows instead.
  • sourcegit_x.y.win-x64.zip may be reported as virus by Windows Defender. I don't know why. I have manually tested the zip to be uploaded using Windows Defender before uploading and no virus was found. If you have installed .NET 8 SDK locally, I suggest you to compile it yourself. And if you have any idea about how to fix this, please open an issue.

For macOS users:

  • Download sourcegit_x.y.osx-x64.zip or sourcegit_x.y.osx-arm64.zip from Releases. x64 for Intel and arm64 for Apple Silicon.
  • Move SourceGit.app to Applications folder.
  • Make sure your mac trusts all software from anywhere. For more information, search spctl --master-disable.
  • Make sure git-credential-manager is installed on your mac.
  • You may need to run sudo xattr -cr /Applications/SourceGit.app to make sure the software works.

For Linux users:

This app supports open repository in external tools listed in the table below.

ToolWindowsmacOSLinuxEnvironment Variable
Visual Studio CodeYESYESYESVSCODE_PATH
Visual Studio Code - InsidersYESYESYESVSCODE_INSIDERS_PATH
VSCodiumYESYESYESVSCODIUM_PATH
JetBrains FleetYESYESYESFLEET_PATH
Sublime TextYESYESYESSUBLIME_TEXT_PATH
  • You can set the given environment variable for special tool if it can NOT be found by this app automatically.
  • Installing JetBrains Toolbox will help this app to find other JetBrains tools installed on your device.
  • On macOS, you may need to use launchctl setenv to make sure the app can read these environment variables.
  • Dark Theme

Theme Dark

  • Light Theme

Theme Light

  1. Create a new json file, and provide your favorite colors with follow keys:
KeyDescription
Color.WindowWindow background color
Color.WindowBorderWindow border color. Only used on Linux.
Color.TitleBarTitle bar background color
Color.ToolBarTool bar background color
Color.PopupPopup panel background color
Color.ContentsBackground color used in inputs, data grids, file content viewer, change lists, text diff viewer, etc.
Color.BadgeBadge background color
Color.BadgeFGBadge foreground color
Color.ConflictConflict panel background color
Color.ConflictForegroundConflict panel foreground color
Color.Border0Border color used in some controls, like Window, Tab, Toolbar, etc.
Color.Border1Border color used in inputs, like TextBox, ComboBox, etc.
Color.Border2Border color used in visual lines, like seperators, Rectange, etc.
Color.FlatButton.BackgroundFlat button background color, like Cancel, Commit & Push button
Color.FlatButton.BackgroundHoveredFlat button background color when hovered, like Cancel button
Color.FG1Primary foreground color for all text elements
Color.FG2Secondary foreground color for all text elements
Color.Diff.EmptyBGBackground color used in empty lines in diff viewer
Color.Diff.AddedBGBackground color used in added lines in diff viewer
Color.Diff.DeletedBGBackground color used in deleted lines in diff viewer
Color.Diff.AddedHighlightBackground color used for changed words in added lines in diff viewer
Color.Diff.DeletedHighlightBackground color used for changed words in deleted lines in diff viewer

For example:

{
  "Color.Window": "#FFFF6059"
}
  1. Open Preference -> Appearance, choose the json file you just created in Custom Color Schema.

NOTE: The Custom Color Schema will override the colors with same keys in current active theme.

Thanks to all the people who contribute.

Contributors

About

Windows/macOS/Linux GUI client for GIT users

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 99.6%
  • Other 0.4%