-
Notifications
You must be signed in to change notification settings - Fork 75
Manual
- Git status display
- Not committed changes tracker
- Git blame display
- Automatic fetch
- Behind tracker
- Commit dialog branch completion
- Commit dialog gitmoji completion
- Recent branches switcher
- Branch cleanup
- Push selected tags
- Issue Navigation integration
- Git Extender integration
Git status shows the following information:
- number of ahead / behind commits for current branch
- current branch
- tags on HEAD
Information is displayed in these locations:
- Project View - ahead / behind, branch name, tags on HEAD
- status bar - ahead / behind
Numbers for ahead and behind are based on number of commits not present in each of the branches.
This information is obtained from output of git rev-list <current-ref>...<parent-ref> --left-right
command.
Information presentation depends on the selected parent branch mode:
- if parent-ref is a remote tracking branch of a current branch
- simple branch name is displayed
- ahead shows number of not yet pushed commits
- behind shows number of remote commits not present in local branch
- if parent-ref is a remote branch not tracking current branch (possible with Auto or selected parent modes)
- extended branch name is displayed
-
<current branch> -> <parent branch>
when both branches have the same remote -
<current branch> -> <parent remote>/<parent branch>
when both branches have different remotes
-
- ahead shows number of commits from a current branch not present in remote parent branch
- behind shows number of commits on a remote parent not present in the current branch
- extended branch name is displayed
Shows committed changes:
- number of changes
- status (clean / dirty)
Information is displayed in following locations:
- Project View - number for changes
- 2 Δ - means there are two changes
- ∅ - no changes / clean
- Status bar
- icon indicator for quick glance
- number of changes / clean
Icons mapping to states:
- clean
/
- dirty
/
Git blame shows the following information for the current line in editor:
- author
- date and time
- commit subject
Git blame can be displayed as:
- editor inline for current line
- status bar widget
More detailed information about the line commit is available with Show Blame Details
action:
- commit hash
- full message
- additional links that:
- open Git Log
- show affected files
- copy commit hash
Runs git fetch at fixed intervals.
Shows notification when behind count of current branch changes and is non-zero.
Provides the following types of completion when editing commit message:
- current branch name
- pattern
Pattern based completion uses regular expression capture groups. Output consists of concatenation of input captured by each group.
For example, regular expression (\w+-\d+).*
matched against input JIRA-123_some_task
will provide completion item JIRA-123
Provides gitmoji completion when editing commit message. It is disabled by default. In addition to completing by name it also takes into account descriptions of the gitmoji. Completion inserts either Markdown or Unicode, depending on configuration.
Keeps track of 5 most recently used local branches for a repository and providers Switch Recent Git Branches
action to show popup
that allows fast switching. Popup entries ordering is from least recently used.
Detects merged and non-merged but stale branches. Cleanup can be executed manually from Git / GitToolBox / Git Branches Cleanup
or automatically. Branches can be excluded using glob patterns.
Lists tags on current branch and allows selection which should be pushed. They can also be force-pushed.
Plugin integrates with IDE Version Control / Issue Navigation
. The moment it is configured following feature becomes active:
- clickable issue links inside blame details
- action to open issue that current branch refers to
<context menu> / Git / Current Branch Issue <issue key>
- action to open issue that current line refers to
<context menu> / Git / Line Issue <issue key>
Can be selected as update action executed from behind tracker popup.
To install manually from distribution artifact downloaded from https://plugins.jetbrains.com
you must
select entire zip archive in Install Plugin from Disk...
dialog.
If you select only main jar file you will get NoClassDefFoundError
s when running IDE.

Global configuration applies to IDE, project configuration applies to a project only.
For most of the features to work repository roots must be correctly configured in:
- File / Settings / Version Control
- IntelliJ IDEA / Preferences... / Version Control
- File / Settings / Appearance & Behavior / Notifications
- File / Settings / Editor / Color Scheme / GitToolBox Colors
- File / Settings / Version Control / GitToolBox
- File / Settings / Version Control / GitToolBox / GitToolBox Project
- IntelliJ IDEA / Preferences... / Appearance & Behavior / Notifications
- IntelliJ IDEA / Preferences... / Editor / Color Scheme / GitToolBox Colors
- IntelliJ IDEA / Preferences... / Version Control / GitToolBox
- IntelliJ IDEA / Preferences... / Version Control / GitToolBox / GitToolBox Project
Notifications shown by the plugin can be configured on Appearance & Behavior / Notifications
IDE config page.
Default configuration for newly created projects can be setup with standard IDE functionality available under:
File / New Projects Settings / Preferences for New Projects...
If you want to change inherited project-level configuration for existing projects see configuration overrides
There are following modes available:
- Auto - if
Task Management
plugin is enabled then get tracked branch of tasks parent branch, use tracked branch of current branch otherwise - Tracked remote - tracked branch of current branch
- Selected parent - tracked branch of selected local branch. Branch selection goes through steps:
- if branch name contains
/
then match against names of remote branches prefixed with remote - else find local branch with given name and use it's remote branch as parent
- if branch name contains
Under GitToolBox Project
settings open the Auto Fetch
tab and add your repository with the plus sign.
Afterwards mark the repository in the list and add the remote you want to exclude with the plus sign again.
Exclusions are applied according to following rules:
- If a repository without remotes is configured, the whole repository is excluded
- If a repository with remotes is configured, only those remotes are excluded
Exclusions apply only to automatic fetch, they do not influence fetch actions.
Commonly raised questions and issues
This might be caused by missing configuration, see general configuration
Related to automatic fetch. First see if running Git / Fetch
also shows the pop-up.
If is does either save login information or just disable automatic fetch for the project in GitToolbox Project
settings.
- Open
Help > Find Action...
and search forRegistry
. - Find
zielu.gittoolbox.diagnostic.mode
and enable it
There is new tab called Diagnostic
available on GitToolBox Project
config page displaying information
which might be useful when investigating issues.
Plugin can log additional diagnostic information to help with issues investigation. All categories can be used in any combination.
Add following line to Help / Debug Log Settings...
#zielu.gittoolbox
There is an action to open directory containing the logs Help / Show Log in...