About
About SourceGit
Opensource & Free Git GUI Client
Add Worktree
Location:
Path for this worktree. Relative path is supported.
Branch Name:
Optional. Default is the destination folder name.
Track Branch:
Tracking remote branch
What to Checkout:
Create New Branch
Existing Branch
AI Assistant
RE-GENERATE
Use AI to generate commit message
APPLY AS COMMIT MESSAGE
Patch
Patch File:
Select .patch file to apply
Ignore whitespace changes
Apply Patch
Whitespace:
Apply Stash
Delete after applying
Reinstate the index's changes
Stash:
Archive...
Save Archive To:
Select archive file path
Revision:
Archive
SourceGit Askpass
FILES ASSUME UNCHANGED
NO FILES ASSUMED AS UNCHANGED
REMOVE
BINARY FILE NOT SUPPORTED!!!
Bisect
Abort
Bad
Bisecting. Is current HEAD good or bad?
Good
Skip
Bisecting. Mark current commit as good or bad and checkout another one.
Blame
BLAME ON THIS FILE IS NOT SUPPORTED!!!
Checkout ${0}$...
Compare with HEAD
Compare with Worktree
Copy Branch Name
Custom Action
Delete ${0}$...
Delete selected {0} branches
Discard all changes
Fast-Forward to ${0}$
Fetch ${0}$ into ${1}$...
Git Flow - Finish ${0}$
Merge ${0}$ into ${1}$...
Merge selected {0} branches into current
Pull ${0}$
Pull ${0}$ into ${1}$...
Push ${0}$
Rebase ${0}$ on ${1}$...
Rename ${0}$...
Set Tracking Branch...
Branch Compare
Invalid upstream!
Bytes
CANCEL
Reset to Parent Revision
Reset to This Revision
Generate commit message
CHANGE DISPLAY MODE
Show as File and Dir List
Show as Path List
Show as Filesystem Tree
Checkout Branch
Checkout Commit
Commit:
Warning: By doing a commit checkout, your Head will be detached
Local Changes:
Discard
Stash & Reapply
Update all submodules
Branch:
Cherry Pick
Append source to commit message
Commit(s):
Commit all changes
Mainline:
Usually you cannot cherry-pick a merge because you do not know which side of the merge should be considered the mainline. This option allows cherry-pick to replay the change relative to the specified parent.
Clear Stashes
You are trying to clear all stashes. Are you sure to continue?
Clone Remote Repository
Extra Parameters:
Additional arguments to clone repository. Optional.
Local Name:
Repository name. Optional.
Parent Folder:
Initialize & update submodules
Repository URL:
CLOSE
Editor
Checkout Commit
Cherry-Pick Commit
Cherry-Pick ...
Compare with HEAD
Compare with Worktree
Author
Committer
Information
SHA
Subject
Custom Action
Interactively Rebase ${0}$ on Here
Merge to ${0}$
Merge ...
Rebase ${0}$ on Here
Reset ${0}$ to Here
Revert Commit
Reword
Save as Patch...
Squash into Parent
Squash Children into Here
CHANGES
Search Changes...
FILES
LFS File
Search Files...
Submodule
INFORMATION
AUTHOR
CHANGED
CHILDREN
COMMITTER
Check refs that contains this commit
COMMIT IS CONTAINED BY
Shows only the first 100 changes. See all changes on the CHANGES tab.
MESSAGE
PARENTS
REFS
SHA
Open in Browser
Description
SUBJECT
Enter commit subject
Repository Configure
COMMIT TEMPLATE
Template Content:
Template Name:
CUSTOM ACTION
Arguments:
${REPO} - Repository's path; ${BRANCH} - Selected branch; ${SHA} - Selected commit's SHA
Executable File:
Name:
Scope:
Branch
Commit
Repository
Wait for action exit
Email Address
Email address
GIT
Fetch remotes automatically
Minute(s)
Default Remote
Preferred Merge Mode
ISSUE TRACKER
Add Sample Azure DevOps Rule
Add Sample Gitee Issue Rule
Add Sample Gitee Pull Request Rule
Add Sample Github Rule
Add Sample GitLab Issue Rule
Add Sample GitLab Merge Request Rule
Add Sample Jira Rule
New Rule
Issue Regex Expression:
Rule Name:
Result URL:
Please use $1, $2 to access regex groups values.
AI
Preferred Service:
If the 'Preferred Service' is set, SourceGit will only use it in this repository. Otherwise, if there is more than one service available, a context menu to choose one of them will be shown.
HTTP Proxy
HTTP proxy used by this repository
User Name
User name for this repository
Workspaces
Color
Name
Restore tabs on startup
CONTINUE
Empty commit detected! Do you want to continue (--allow-empty)?
STAGE ALL & COMMIT
Empty commit detected! Do you want to continue (--allow-empty) or stage all then commit?
Conventional Commit Helper
Breaking Change:
Closed Issue:
Detail Changes:
Scope:
Short Description:
Type of Change:
Copy
Copy All Text
Copy Full Path
Copy Path
Create Branch...
Based On:
Check out the created branch
Local Changes:
Discard
Stash & Reapply
New Branch Name:
Enter branch name.
Spaces will be replaced with dashes.
Create Local Branch
Create Tag...
New Tag At:
GPG signing
Tag Message:
Optional.
Tag Name:
Recommended format: v1.0.0-alpha
Push to all remotes after created
Create New Tag
Kind:
annotated
lightweight
Hold Ctrl to start directly
Cut
Delete Branch
Branch:
You are about to delete a remote branch!!!
Also delete remote branch ${0}$
Delete Multiple Branches
You are trying to delete multiple branches at one time. Be sure to double-check before taking action!
Delete Remote
Remote:
Path:
Target:
All children will be removed from list.
This will only remove it from list, not from disk!
Confirm Deleting Group
Confirm Deleting Repository
Delete Submodule
Submodule Path:
Delete Tag
Tag:
Delete from remote repositories
BINARY DIFF
NEW
OLD
Copy
File Mode Changed
First Difference
Ignore All Whitespace Changes
Last Difference
LFS OBJECT CHANGE
Next Difference
NO CHANGES OR ONLY EOL CHANGES
Previous Difference
Save as Patch
Show hidden symbols
Side-By-Side Diff
SUBMODULE
NEW
Swap
Syntax Highlighting
Line Word Wrap
Enable Block-Navigation
Open in Merge Tool
Show All Lines
Decrease Number of Visible Lines
Increase Number of Visible Lines
SELECT FILE TO VIEW CHANGES
Open in Merge Tool
Discard Changes
All local changes in working copy.
Changes:
Include ignored files
{0} changes will be discarded
You can't undo this action!!!
Bookmark:
New Name:
Target:
Edit Selected Group
Edit Selected Repository
Run Custom Action
Action Name:
Fast-Forward (without checkout)
Fetch
Fetch all remotes
Force override local refs
Fetch without tags
Remote:
Fetch Remote Changes
Assume unchanged
Discard...
Discard {0} files...
Discard Changes in Selected Line(s)
Open External Merge Tool
Resolve Using ${0}$
Save as Patch...
Stage
Stage {0} files
Stage Changes in Selected Line(s)
Stash...
Stash {0} files...
Unstage
Unstage {0} files
Unstage Changes in Selected Line(s)
Use Mine (checkout --ours)
Use Theirs (checkout --theirs)
File History
CHANGE
CONTENT
Git-Flow
Development Branch:
Feature:
Feature Prefix:
FLOW - Finish Feature
FLOW - Finish Hotfix
FLOW - Finish Release
Target:
Push to remote(s) after performing finish
Squash during merge
Hotfix:
Hotfix Prefix:
Initialize Git-Flow
Keep branch
Production Branch:
Release:
Release Prefix:
Start Feature...
FLOW - Start Feature
Start Hotfix...
FLOW - Start Hotfix
Enter name
Start Release...
FLOW - Start Release
Version Tag Prefix:
Git LFS
Add Track Pattern...
Pattern is file name
Custom Pattern:
Add Track Pattern to Git LFS
Fetch
Run `git lfs fetch` to download Git LFS objects. This does not update the working copy.
Fetch LFS Objects
Install Git LFS hooks
Show Locks
No Locked Files
Lock
Show only my locks
LFS Locks
Unlock
Force Unlock
Prune
Run `git lfs prune` to delete old LFS files from local storage
Pull
Run `git lfs pull` to download all Git LFS files for current ref & checkout
Pull LFS Objects
Push
Push queued large files to the Git LFS endpoint
Push LFS Objects
Remote:
Track files named '{0}'
Track all *{0} files
HISTORY
AUTHOR
AUTHOR TIME
GRAPH & SUBJECT
SHA
COMMIT TIME
SELECTED {0} COMMITS
Hold 'Ctrl' or 'Shift' to select multiple commits.
Hold ⌘ or ⇧ to select multiple commits.
TIPS:
Keyboard Shortcuts Reference
GLOBAL
Cancel current popup
Clone new repository
Close current page
Go to next page
Go to previous page
Create new page
Open Preferences dialog
Switch active workspace
Switch active page
REPOSITORY
Commit staged changes
Commit and push staged changes
Stage all changes and commit
Creates a new branch based on selected commit
Discard selected changes
Fetch, starts directly
Dashboard mode (Default)
Commit search mode
Pull, starts directly
Push, starts directly
Force to reload this repository
Stage/Unstage selected changes
Switch to 'Changes'
Switch to 'Histories'
Switch to 'Stashes'
TEXT EDITOR
Close search panel
Find next match
Find previous match
Open with external diff/merge tool
Open search panel
Discard
Stage
Unstage
Initialize Repository
Path:
Cherry-Pick in progress.
Processing commit
Merge in progress.
Merging
Rebase in progress.
Stopped at
Revert in progress.
Reverting commit
Interactive Rebase
On:
Target Branch:
Copy Link
Open in Browser
ERROR
NOTICE
Workspaces
Pages
Merge Branch
Into:
Merge Option:
Source:
Merge (Multiple)
Commit all changes
Strategy:
Targets:
Move Repository Node
Select parent node for:
Name:
Git has NOT been configured. Please to go [Preferences] and configure it first.
Open Data Storage Directory
Open with...
Optional.
Create New Page
Bookmark
Close Tab
Close Other Tabs
Close Tabs to the Right
Copy Repository Path
Repositories
Paste
{0} days ago
1 hour ago
{0} hours ago
Just now
Last month
Last year
{0} minutes ago
{0} months ago
{0} years ago
Yesterday
Preferences
AI
Analyze Diff Prompt
API Key
Generate Subject Prompt
Model
Name
Server
Enable Streaming
APPEARANCE
Default Font
Editor Tab Width
Font Size
Default
Editor
Monospace Font
Use monospace font only in text editor
Theme
Theme Overrides
Use fixed tab width in titlebar
Use native window frame
DIFF/MERGE TOOL
Install Path
Input path for diff/merge tool
Tool
GENERAL
Check for updates on startup
Date Format
Language
History Commits
Show author time instead of commit time in graph
Show children in the commit details
Show tags in commit graph
Subject Guide Length
GIT
Enable Auto CRLF
Default Clone Dir
User Email
Global git user email
Enable --prune on fetch
Enable --ignore-cr-at-eol in diff
Git (>= 2.23.0) is required by this app
Install Path
Enable HTTP SSL Verify
User Name
Global git user name
Git version
GPG SIGNING
Commit GPG signing
GPG Format
Program Install Path
Input path for installed gpg program
Tag GPG signing
User Signing Key
User's gpg signing key
INTEGRATION
SHELL/TERMINAL
Path
Shell/Terminal
Prune Remote
Target:
Prune Worktrees
Prune worktree information in `$GIT_COMMON_DIR/worktrees`
Pull
Remote Branch:
Fetch all branches
Into:
Local Changes:
Discard
Stash & Reapply
Fetch without tags
Remote:
Pull (Fetch & Merge)
Use rebase instead of merge
Push
Make sure submodules have been pushed
Force push
Local Branch:
Remote:
Push Changes To Remote
Remote Branch:
Set as tracking branch
Push all tags
Push Tag To Remote
Push to all remotes
Remote:
Tag:
Quit
Rebase Current Branch
Stash & reapply local changes
On:
Rebase:
Refresh
Add Remote
Edit Remote
Name:
Remote name
Repository URL:
Remote git repository URL
Copy URL
Delete...
Edit...
Fetch
Open In Browser
Prune
Confirm to Remove Worktree
Enable `--force` Option
Target:
Rename Branch
New Name:
Unique name for this branch
Branch:
ABORT
Auto fetching changes from remotes...
Sort
By Committer Date
By Name
Cleanup(GC & Prune)
Run `git gc` command for this repository.
Clear all
Configure this repository
CONTINUE
Custom Actions
No Custom Actions
Enable '--reflog' Option
Open in File Browser
Search Branches/Tags/Submodules
Visibility in Graph
Unset
Hide in commit graph
Filter in commit graph
Enable '--first-parent' Option
LAYOUT
Horizontal
Vertical
COMMITS ORDER
Commit Date
Topologically
LOCAL BRANCHES
Navigate to HEAD
Create Branch
CLEAR NOTIFICATIONS
Only highlight current branch in graph
Open in {0}
Open in External Tools
Refresh
REMOTES
Add Remote
Search Commit
Author
Committer
Content
File
Message
SHA
Current Branch
Show Submodules as Tree
Show Tags as Tree
SKIP
Statistics
SUBMODULES
Add Submodule
Update Submodule
TAGS
New Tag
By Creator Date
By Name (Ascending)
By Name (Descending)
Sort
Open in Terminal
Use relative time in histories
View Logs
Visit '{0}' in Browser
WORKTREES
Add Worktree
Prune
Git Repository URL
Reset Current Branch To Revision
Reset Mode:
Move To:
Current Branch:
Reveal in File Explorer
Revert Commit
Commit:
Commit revert changes
Reword Commit Message
Use 'Shift+Enter' to input a new line. 'Enter' is the hotkey of OK button
Running. Please wait...
SAVE
Save As...
Patch has been saved successfully!
Scan Repositories
Root Dir:
Check for Updates...
New version of this software is available:
Check for updates failed!
Download
Skip This Version
Software Update
There are currently no updates available.
Set Tracking Branch
Branch:
Unset upstream
Upstream:
Copy SHA
Go to
Squash Commits
Into:
SSH Private Key:
Private SSH key store path
START
Stash
Auto-restore after stashing
Your working files remain unchanged, but a stash is saved.
Include untracked files
Keep staged files
Message:
Optional. Name of this stash
Only staged changes
Both staged and unstaged changes of selected file(s) will be stashed!!!
Stash Local Changes
Apply
Drop
Save as Patch...
Drop Stash
Drop:
STASHES
CHANGES
STASHES
Statistics
COMMITS
COMMITTER
OVERVIEW
MONTH
WEEK
AUTHORS:
COMMITS:
SUBMODULES
Add Submodule
Copy Relative Path
Fetch nested submodules
Open Submodule Repository
Relative Path:
Relative folder to store this module.
Delete Submodule
STATUS
modified
not initialized
revision changed
unmerged
URL
OK
Copy Tag Name
Copy Tag Message
Delete ${0}$...
Merge ${0}$ into ${1}$...
Push ${0}$...
Update Submodules
All submodules
Initialize as needed
Recursively
Submodule:
Use --remote option
URL:
Logs
CLEAR ALL
Copy
Delete
Warning
Welcome Page
Create Group
Create Sub-Group
Clone Repository
Delete
DRAG & DROP FOLDER SUPPORTED. CUSTOM GROUPING SUPPORTED.
Edit
Move to Another Group
Open All Repositories
Open Repository
Open Terminal
Rescan Repositories in Default Clone Dir
Search Repositories...
Sort
LOCAL CHANGES
Git Ignore
Ignore all *{0} files
Ignore *{0} files in the same folder
Ignore files in the same folder
Ignore this file only
Amend
You can stage this file now.
COMMIT
COMMIT & PUSH
Template/Histories
Trigger click event
Commit (Edit)
Stage all changes and commit
You have staged {0} file(s) but only {1} file(s) displayed ({2} files are filtered out). Do you want to continue?
CONFLICTS DETECTED
OPEN EXTERNAL MERGETOOL
OPEN ALL CONFLICTS IN EXTERNAL MERGETOOL
FILE CONFLICTS ARE RESOLVED
USE MINE
USE THEIRS
INCLUDE UNTRACKED FILES
NO RECENT INPUT MESSAGES
NO COMMIT TEMPLATES
Right-click the selected file(s), and make your choice to resolve conflicts.
SignOff
STAGED
UNSTAGE
UNSTAGE ALL
UNSTAGED
STAGE
STAGE ALL
VIEW ASSUME UNCHANGED
Template: ${0}$
WORKSPACE:
Configure Workspaces...
WORKTREE
Copy Path
Lock
Remove
Unlock