Extension Settings
Git Graph Settings
This extension contributes the following settings:
Commit Details View
Auto Center
Automatically center the Commit Details View when it is opened
Setting:
git-graph.commitDetailsView.autoCenter
Default:
true
Type: Boolean
File View > File Tree: Compact Folders
Render the File Tree in the Commit Details View in a compacted form, such that folders with a single child folder are compressed into a single combined folder element.
Setting:
git-graph.commitDetailsView.fileView.fileTree.compactFolders
Default:
true
Type: Boolean
File View: Type
Sets the default type of File View used in the Commit Details View. This can be overridden per repository using the controls on the right side of the Commit Details View.
Setting:
git-graph.commitDetailsView.fileView.type
Default:
File Tree
Options:
File Tree
: Display files in a tree structure.File List
: Display files in a list (useful for repositories with deep folder structures).
Location
Specifies where the Commit Details View is rendered in the Git Graph View.
Setting:
git-graph.commitDetailsView.location
Default:
Inline
Options:
Inline
: Show the Commit Details View inline with the graph & commits.Docked to Bottom
: Show the Commit Details View docked to the bottom of the Git Graph View.
Context Menu Actions Visibility
Customise which context menu actions are visible. For example, if you want to hide the rebase action from the branch context menu, a suitable value for this setting is { "branch": { "rebase": false } }
.
Setting:
git-graph.contextMenuActionsVisibility
Type:
object
{
"branch": {
"checkout": true,
"rename": true,
"delete": true,
"merge": true,
"rebase": true,
"push": true,
"createPullRequest": true,
"createArchive": true,
"selectInBranchesDropdown": true,
"unselectInBranchesDropdown": true,
"copyName": true
},
"commit": {
"addTag": true,
"createBranch": true,
"checkout": true,
"cherrypick": true,
"revert": true,
"drop": true,
"merge": true,
"rebase": true,
"reset": true,
"copyHash": true,
"copySubject": true
},
"remoteBranch": {
"checkout": true,
"delete": true,
"fetch": true,
"merge": true,
"pull": true,
"createPullRequest": true,
"createArchive": true,
"selectInBranchesDropdown": true,
"unselectInBranchesDropdown": true,
"copyName": true
},
"stash": {
"apply": true,
"createBranch": true,
"pop": true,
"drop": true,
"copyName": true,
"copyHash": true
},
"tag": {
"viewDetails": true,
"delete": true,
"push": true,
"createArchive": true,
"copyName": true
},
"uncommittedChanges": {
"stash": true,
"reset": true,
"clean": true,
"openSourceControlView": true
}
}
Custom Branch Glob Patterns
An array of Custom Branch Glob Patterns to be shown in the 'Branches' dropdown.
Setting:
git-graph.customBranchGlobPatterns
Default:
[]
Type: Array
Example:
[{"name": "Feature Requests", "glob": "heads/feature/*"}]
Custom Emoji Shortcode Mappings
An array of custom Emoji Shortcode mappings
Setting:
git-graph.customEmojiShortcodeMappings
Default:
[]
Type: Array
Example:
[{"shortcode": ":sparkles:", "emoji":"✨"}]
Custom Pull Request Providers
An array of custom Pull Request providers that can be used in the "Pull Request Creation" Integration. For information on how to configure this setting, see the documentation here.
Setting:
git-graph.customPullRequestProviders
Default:
[]
Type: Array
Example: See the documentation here.
Date
Format
Specifies the date format to be used in the "Date" column on the Git Graph View.
Setting:
git-graph.date.format
Default:
Date & Time
Options:
Date & Time
: Show the date and time (e.g. "24 Mar 2019 21:34")Date Only
: Show the date only (e.g. "24 Mar 2019")ISO Date & Time
: Show the ISO date and time (e.g. "2019-03-24 21:34")ISO Date Only
: Show the ISO date only (e.g. "2019-03-24")Relative
: Show relative times (e.g. "5 minutes ago")
Type
Specifies the date type to be displayed in the "Date" column on the Git Graph View.
Setting:
git-graph.date.type
Default:
Author Date
Options:
Author Date
: Use the author date of a commit.Commit Date
: Use the committer date of a commit.
Default Column Visibility
An object specifying the default visibility of the Date, Author & Commit columns. Each columns visibility is defined by a boolean, such that true
=> visible, and false
=> hidden.
Setting:
git-graph.defaultColumnVisibility
Default:
{"Date": true, "Author": true, "Commit": true}
Type: Object
Date
: booleanAuthor
: booleanCommit
: boolean
Dialog
Set the default options on the following dialogs:
Add Tag Dialog
Default state of the field indicating whether the tag should be pushed to a remote once it is added.
Setting:
git-graph.dialog.addTag.pushToRemote
Default:
false
Type: Boolean
Default type of the tag being added.
Setting:
git-graph.dialog.addTag.type
Default:
Annotated
Type:
Annotated
|Lightweight
Apply Stash Dialog
Default state of the "Reinstate Index" checkbox.
Setting:
git-graph.dialog.applyStash.reinstateIndex
Default:
false
Type: Boolean
Cherry Pick Dialog
Default state of the "Record Origin" checkbox.
Setting:
git-graph.dialog.cherryPick.recordOrigin
Default:
false
Type: Boolean
Default state of the "No Commit" checkbox.
Setting:
git-graph.dialog.cherryPick.noCommit
Default:
false
Type: Boolean
Create Branch Dialog
Default state of the "Check out" checkbox.
Setting:
git-graph.dialog.createBranch.checkOut
Default:
false
Type: Boolean
Delete Branch Dialog
Default state of the "Force Delete" checkbox.
Setting:
git-graph.dialog.deleteBranch.forceDelete
Default:
false
Type: Boolean
Fetch into Local Branch Dialog
Default state of the "Force Fetch" checkbox.
Setting:
git-graph.dialog.fetchIntoLocalBranch.forceFetch
Default:
false
Type: Boolean
Fetch Remote Dialog
Default state of the "Prune" checkbox.
Setting:
git-graph.dialog.fetchRemote.prune
Default:
false
Type: Boolean
Default state of the "Prune Tags" checkbox.
Setting:
git-graph.dialog.fetchRemote.pruneTags
Default:
false
Type: Boolean
Merge Dialog
Default state of the "No Commit" checkbox.
Setting:
git-graph.dialog.merge.noCommit
Default:
false
Type: Boolean
Default state of the "Create a new commit even if fast-forward is possible" checkbox.
Setting:
git-graph.dialog.merge.noFastForward
Default:
true
Type: Boolean
Default state of the "Squash Commits" checkbox.
Setting:
git-graph.dialog.merge.squashCommits
Default:
false
Type: Boolean
The message format used for the squashed commit (when the "Squash Commits" option is selected).
Setting:
git-graph.dialog.merge.squashMessageFormat
Default:
Default
Type:
Default
|Git SQUASH_MSG
Pop Stash Dialog
Default state of the "Reinstate Index" checkbox.
Setting:
git-graph.dialog.popStash.reinstateIndex
Default:
false
Type: Boolean
Pull Branch Dialog
Default state of the "Create a new commit even if fast-forward is possible" checkbox.
Setting:
git-graph.dialog.pullBranch.noFastForward
Default:
false
Type: Boolean
Default state of the "Squash Commits" checkbox.
Setting:
git-graph.dialog.pullBranch.squashCommits
Default:
false
Type: Boolean
The message format used for the squashed commit (when the "Squash Commits" option is selected).
Setting:
git-graph.dialog.pullBranch.squashMessageFormat
Default:
Default
Type:
Default
|Git SQUASH_MSG
Rebase Dialog
Default state of the "Ignore Date (non-interactive rebase only)" checkbox.
Setting:
git-graph.dialog.rebase.ignoreDate
Default:
true
Type: Boolean
Default state of the "Launch Interactive Rebase in new Terminal" checkbox.
Setting:
git-graph.dialog.rebase.launchInteractiveRebase
Default:
false
Type: Boolean
Reset Current Branch to Commit Dialog
Default mode to be used for the reset action.
Setting:
git-graph.dialog.resetCurrentBranchToCommit.mode
Default:
Mixed
Type:
Soft
|Mixed
|Hard
Reset Uncommitted Changes Dialog
Default mode to be used for the reset action.
Setting:
git-graph.dialog.resetUncommittedChanges.mode
Default:
Mixed
Type:
Mixed
|Hard
Stash Uncommitted Changes Dialog
Default state of the "Include Untracked" checkbox.
Setting:
git-graph.dialog.stashUncommittedChanges.includeUntracked
Default:
true
Type: Boolean
General configuration that applies across all dialogs:
Reference Input Space Substitution
Specifies a substitution that is automatically performed when space characters are entered or pasted into reference inputs on dialogs (e.g. Create Branch, Add Tag, etc.).
Setting:
git-graph.dialog.general.referenceInputSpaceSubstitution
Default:
None
Options:
None
: Don't replace spaces.Hyphen
: Replace space characters with hyphens, for example: "new branch" -> "new-branch".Underscore
: Replace space characters with underscores, for example: "new branch" -> "new_branch".
Enhanced Accessibility
Visual file change A|M|D|R|U indicators in the Commit Details View for users with colour blindness. In the future, this setting will enable any additional accessibility related features of Git Graph that aren't enabled by default.
Setting:
git-graph.enhancedAccessibility
Default:
false
(disabled)Type: Boolean
File Encoding
The character set encoding used when retrieving a specific version of repository files (e.g. in the Diff View). A list of all supported encodings can be found here.
Setting:
git-graph.fileEncoding
Default:
utf8
Type: String
Graph
Colours
Specifies the colours used on the graph.
Setting:
git-graph.graph.colours
Default:
["#0085d9", "#d9008f", "#00d90a", "#d98500", "#a300d9", "#ff0000", "#00d9cc", "#e138e8", "#85d900", "#dc5b23", "#6f24d6", "#ffcc00" ]
Type: Array of HEX or RGB colours
Style
Specifies the style of the transitions between branches on the graph.
Rounded
Angular
Setting:
git-graph.graph.style
Default:
rounded
Options:
rounded
: Use smooth curves when transitioning between branches on the graph.angular
: Use angular lines when transitioning between branches on the graph.
Uncommitted Changes
Specifies how the Uncommitted Changes are displayed on the graph.
Open Circle at the Uncommitted Changes
Open Circle at the Checked Out Commit
Setting:
git-graph.graph.uncommittedChanges
Default:
Open Circle at the Uncommitted Changes
Options:
Open Circle at the Uncommitted Changes
: Display the Uncommitted Changes as a grey open circle, connected to the commit referenced by HEAD with a solid grey line. The current file system's state is therefore always displayed as an open circle.Open Circle at the Checked Out Commit
: Display the Uncommitted Changes as a grey closed circle, connected to the commit referenced by HEAD with a dotted grey line. The commit referenced by HEAD is therefore always displayed as an open circle.
Integrated Terminal Shell
Specifies the path and filename of the Shell executable to be used by the Visual Studio Code Integrated Terminal, when it is opened by Git Graph. For example, to use Git Bash on Windows this setting would commonly be set to C:\Program Files\Git\bin\bash.exe
. If this setting is left blank, the default Shell is used.
Setting:
git-graph.integratedTerminalShell
Default: ""
Type: String
For security reasons, this setting can only be specified in the User Settings, not in the Workspace Settings.
Keyboard Shortcuts
Find
The keybinding for the keyboard shortcut that opens the Find Widget in the Git Graph View.
Setting:
git-graph.keyboardShortcut.find
Default:
CTRL/CMD + F
Type: Enum
CTRL/CMD + [A-Z]
Refresh
The keybinding for the keyboard shortcut that refreshes the Git Graph View.
Setting:
git-graph.keyboardShortcut.refresh
Default:
CTRL/CMD + R
Type: Enum
CTRL/CMD + [A-Z]
Scroll To Head
The keybinding for the keyboard shortcut that scrolls the Git Graph View to be centered on the commit referenced by HEAD.
Setting:
git-graph.keyboardShortcut.scrollToHead
Default:
CTRL/CMD + H
Type: Enum
CTRL/CMD + [A-Z]
Scroll To Stash
The keybinding for the keyboard shortcut that scrolls the Git Graph View to the first (or next) stash in the loaded commits. The Shift Key Modifier can be applied to this keybinding to scroll the Git Graph View to the last (or previous) stash in the loaded commits.
Setting:
git-graph.keyboardShortcut.scrollToStash
Default:
CTRL/CMD + S
Type: Enum
CTRL/CMD + [A-Z]
Markdown
Parse and render a frequently used subset of inline Markdown formatting rules in commit messages and tag details (bold, italics, bold & italics, and inline code blocks).
Setting:
git-graph.markdown
Default:
true
Type: Boolean
Max Depth Of Repo Search
Specifies the maximum depth of subfolders to search when discovering repositories in the workspace.
Setting:
git-graph.maxDepthOfRepoSearch
Default:
0
(don't search subfolders)Type: Positive Integer
Note: Sub-repos are not automatically detected when searching subfolders, however they can be manually added by running the command "Git Graph: Add Git Repository" in the Command Palette.
Open New Tab Editor Group
Specifies the Editor Group where Git Graph should open new tabs, when performing the following actions from the Git Graph View: Viewing the Visual Studio Code Diff View, Opening a File, Viewing a File at a Specific Revision.
Setting:
git-graph.openNewTabEditorGroup
Default:
Active
Options:
Active
: Open the new tab in the Active Editor Group.Beside
: Open the new tab beside the Active Editor Group.One
: Open the new tab in the First Editor Group.Two
: Open the new tab in the Second Editor Group.Three
: Open the new tab in the Third Editor Group.Four
: Open the new tab in the Fourth Editor Group.Five
: Open the new tab in the Fifth Editor Group.Six
: Open the new tab in the Sixth Editor Group.Seven
: Open the new tab in the Seventh Editor Group.Eight
: Open the new tab in the Eighth Editor Group.Nine
: Open the new tab in the Ninth Editor Group.
Open to the Repo of the Active Text Editor Document
Open the Git Graph View to the repository containing the active Text Editor document.
Setting:
git-graph.openToTheRepoOfTheActiveTextEditorDocument
Default:
false
Type: Boolean
Reference Labels
Alignment
Specifies how branch and tag reference labels are aligned for each commit.
Setting:
git-graph.referenceLabels.alignment
Default:
Normal
Options:
Normal
: Show branch & tag labels on the left of the commit message in the 'Description' column.Branches (on the left) & Tags (on the right)
: Show branch labels on the left of the commit message in the 'Description' column, and tag labels on the right.Branches (aligned to the graph) & Tags (on the right)
: Show branch labels aligned to the graph in the 'Graph' column, and tag labels on the right in the 'Description' column.
Combine Local and Remote Branch Labels
Combine local and remote branch labels if they refer to the same branch, and are on the same commit.
Setting:
git-graph.referenceLabels.combineLocalAndRemoteBranchLabels
Default:
true
Type: Boolean
Repository
Commits: Fetch Avatars
Fetch avatars of commit authors and committers. By enabling this setting, you consent to commit author and committer email addresses being sent GitHub, GitLab or Gravatar, depending on the repositories remote origin.
Setting:
git-graph.repository.commits.fetchAvatars
Default:
false
(disabled)Type: Boolean
Commits: Initial Load
Specifies the number of commits to initially load.
Setting:
git-graph.repository.commits.initialLoad
Default:
300
Type: Positive Integer
Commits: Load More
Specifies the number of additional commits to load when the "Load More Commits" button is pressed, or more commits are automatically loaded.
Setting:
git-graph.repository.commits.loadMore
Default:
100
Type: Positive Integer
Commits: Load More Automatically
When the view has been scrolled to the bottom, automatically load more commits if they exist (instead of having to press the "Load More Commits" button).
Setting:
git-graph.repository.commits.loadMoreAutomatically
Default:
true
Type: Boolean
Commits > Mute: Commits that are not ancestors of HEAD
Display commits that aren't ancestors of the checked-out branch / commit with a muted text color. Muting will only occur if the commit referenced by HEAD is within the loaded commits on the Git Graph View.
Setting:
git-graph.repository.commits.mute.commitsThatAreNotAncestorsOfHead
Default:
false
Type: Boolean
Commits > Mute: Merge Commits
Display merge commits with a muted text color.
Setting:
git-graph.repository.commits.mute.mergeCommits
Default:
true
Type: Boolean
Commits: Order
Specifies the order of commits on the Git Graph View. See git log for more information on each order option. This can be overridden per repository via the Git Graph View's Column Header Context Menu.
Setting:
git-graph.repository.commits.order
Default:
date
Options:
date
: Show commits in the commit timestamp order.author-date
: Show commits in the author timestamp order.topo
: Avoid showing commits on multiple lines of history intermixed.
Commits: Show Signature Status
Show the commit's signature status to the right of the Committer in the Commit Details View (only for signed commits). Hovering over the signature icon displays a tooltip with the signature details. Requires Git (>= 2.4.0) & GPG (or equivalent) to be installed on the same machine that is running Visual Studio Code.
Setting:
git-graph.repository.commits.showSignatureStatus
Default:
false
Type: Boolean
Fetch And Prune
Before fetching from remote(s) using the Fetch button on the Git Graph View Control Bar, remove any remote-tracking references that no longer exist on the remote(s).
Setting:
git-graph.repository.fetchAndPrune
Default:
false
(disabled)Type: Boolean
Fetch And Prune Tags
Before fetching from remote(s) using the Fetch button on the Git Graph View Control Bar, remove any local tags that no longer exist on the remote(s). Requires Git >= 2.17.0, and the "Repository: Fetch And Prune" setting to be enabled. Caution: If you work in repositories that have multiple remotes, it is not recommended to use this setting (instead you can prune tags for a specific remote via "Fetch Remote" Dialog from the Repository Settings Widget on the Git Graph View).
Setting:
git-graph.repository.fetchAndPruneTags
Default:
false
(disabled)Type: Boolean
Include Commits Mentioned By Reflogs
Include commits only mentioned by reflogs in the Git Graph View (only applies when showing all branches). This can be overridden per repository in the Git Graph View's Repository Settings Widget.
Setting:
git-graph.repository.includeCommitsMentionedByReflogs
Default:
false
Type: Boolean
On Load: Scroll To Head
Automatically scroll the Git Graph View to be centered on the commit referenced by HEAD. This will only occur if the commit referenced by HEAD is within the loaded commits on the Git Graph View.
Setting:
git-graph.repository.onLoad.scrollToHead
Default:
false
Type: Boolean
On Load: Show Checked Out Branch
Show the checked out branch when a repository is loaded in the Git Graph View. This setting can be used in conjunction with "Repository > On Load: Show Specific Branches".
Setting:
git-graph.repository.onLoad.showCheckedOutBranch
Default:
false
Type: Boolean
On Load: Show Specific Branches
Show specific branches when a repository is loaded in the Git Graph View. Branches can be specified as follows: A local branch name (e.g. master
), a remote-tracking branch name prefixed with "remotes/" (e.g. remotes/origin/master
), or a glob pattern defined in git-graph.customBranchGlobPatterns
prefixed with "--glob=" (e.g. --glob=heads/feature/*
). This setting can be used in conjunction with "Repository > On Load: Show Checked Out Branch".
Setting:
git-graph.repository.onLoad.showSpecificBranches
Default:
[]
Type: Array of strings
Only Follow First Parent
Only follow the first parent of commits when discovering the commits to load in the Git Graph View. See --first-parent
to find out more about this setting. This can be overridden per repository in the Git Graph View's Repository Settings Widget.
Setting:
git-graph.repository.onlyFollowFirstParent
Default:
false
Type: Boolean
Show Commits Only Referenced By Tags
Show Commits that are only referenced by tags in Git Graph.
Setting:
git-graph.repository.showCommitsOnlyReferencedByTags
Default:
true
Type: Boolean
Show Remote Branches
Show Remote Branches in Git Graph by default. This can be overridden per repository from the Git Graph View's Control Bar.
Setting:
git-graph.repository.showRemoteBranches
Default:
true
Type: Boolean
Show Remote Heads
Show Remote HEAD Symbolic References in Git Graph (e.g. "origin/HEAD").
Setting:
git-graph.repository.showRemoteHeads
Default:
true
Type: Boolean
Show Stashes
Show Stashes in Git Graph by default. This can be overridden per repository in the Git Graph View's Repository Settings Widget.
Setting:
git-graph.repository.showStashes
Default:
true
Type: Boolean
Show Tags
Show Tags in Git Graph by default. This can be overridden per repository in the Git Graph View's Repository Settings Widget.
Setting:
git-graph.repository.showTags
Default:
true
Type: Boolean
Show Uncommitted Changes
Show uncommitted changes. If you work on large repositories, disabling this setting can reduce the load time of the Git Graph View.
Setting:
git-graph.repository.showUncommittedChanges
Default:
true
Type: Boolean
Show Untracked Files
Show untracked files when viewing the uncommitted changes. If you work on large repositories, disabling this setting can reduce the load time of the Git Graph View.
Setting:
git-graph.repository.showUntrackedFiles
Default:
true
Type: Boolean
Sign: Commits
Enables commit signing with GPG or X.509.
Setting:
git-graph.repository.sign.commits
Default:
false
Type: Boolean
Sign: Tags
Enables tag signing with GPG or X.509.
Setting:
git-graph.repository.sign.tags
Default:
false
Type: Boolean
Use Mailmap
Respect .mailmap files when displaying author & committer names and email addresses.
Setting:
git-graph.repository.useMailmap
Default:
false
Type: Boolean
Repository Dropdown Order
Specifies the order that repositories are sorted in the repository dropdown on the Git Graph View (only visible when more than one repository exists in the current Visual Studio Code Workspace).
Setting:
git-graph.repositoryDropdownOrder
Default:
Workspace Full Path
Options:
Full Path
: Sort repositories alphabetically by the full path of the repository.Name
: Sort repositories alphabetically by the name of the repository.Workspace Full Path
: Sort repositories according to the Visual Studio Code Workspace Folder order, then alphabetically by the full path of the repository.
Retain Context When Hidden
Specifies if the Git Graph View's Visual Studio Code context is kept when the panel is no longer visible (e.g. moved to background tab). Enabling this setting will make Git Graph load significantly faster when switching back to the Git Graph tab, however has a higher memory overhead.
Setting:
git-graph.retainContextWhenHidden
Default:
true
Type: Boolean
Show Status Bar Item
Show a Status Bar Item that opens the Git Graph View when clicked.

Setting:
git-graph.showStatusBarItem
Default:
true
Type: Boolean
Source Code Provider Integration Location
Specifies where the "View Git Graph" action appears on the title of SCM Providers.
Setting:
git-graph.sourceCodeProviderIntegrationLocation
Default:
Inline
Options:
Inline
: Show the 'View Git Graph' action on the title of SCM ProvidersMore Actions
: Show the 'View Git Graph' action in the 'More Actions...' menu on the title of SCM Providers
Tab Icon Colour Theme
Specifies the colour theme of the icon displayed on the Git Graph tab.
Setting:
git-graph.tabIconColourTheme
Default:
colour
Options:
colour
: Show a colour icon which suits most Visual Studio Code colour themesgrey
: Show a grey icon which suits Visual Studio Code colour themes that are predominantly grayscale
Consumed Settings
This extension consumes the following settings:
Git: Path
Specifies the path of a portable Git installation.
Setting:
git.path
Default: not set
Type: String - Path and filename of the Git executable, for example
C:\Program Files\Git\bin\git.exe
on Windows
Last updated