This MOD is an enhanced version of GitExtensions with the most wanted features and bug fixes flavored, such as combined diff (for reviewing merge conflicts), left branches panel, multiple commits cherry-picking, branches/commits comparision, force with lease, showing real line number in the diff and so on.
Please don’t submit any issue to the official team as it’s a MOD version. You can report issues Here if you have any concern.
If you want to contribute a fix or feature, please make sure your branch is based on the official master branch, so it can be merged to both official and this MOD.
- Get Started
- Ability to Review Merge Conflicts
- Left Panel for Branches
- Ability to Cherry-pick Multiple Commits
- Real Line Number in the Diff
- Comparing to Another Branch or Commit
- Remembering the
ignore white spacesettings
- Option to NOT Save Local Changes Preference When Checking Out
- Auto Stash before Rebase
- Bug Fixes
The latest installer can be downloaded from Here.
There is also a complete version of the installer that contains other third party tools such as git, kdiff3, windows credential store helpet and so on.
Ability to Review Merge Conflicts
To help figure out what changes had been made while solving the merge conflicts, we introduced a new section in the files panel to show the combined diff.
As you can see from the below image, there is a new combined diff section in the left panel.
By clicking any file in the list, you can see the combined diff in the right panel.
FYI: Combined diff means the differences between the current revision and a combination of its all parents. Instead of having only column), a two parents combined diff has 2 columns. For example “ +” (a space for the left parent, a + for the right parent) means the line is a new added line comparing to the right parent while it doesn’t change anything when comparing to the left parent. You will see a “++” if the line is new to both parents.
Omitting the Uninteresting Diff
By default, it may show some unexpected differences that were not caused by conflicts. Those differences are so called uninteresting diff, by contrast, the differences caused by solving conflicts are interesting diff.
Fortunately, there’s an advanced option to omit the uninteresting diff.
- Line numbers of parents are not supported. As shown above, only one column of line numbers is showing. The line numbers for its two parents are missing.
- Some context menu items are not supported. E.g
open in external diff tool
- Showing combined diff for octopus merge is not supported.
Left Panel for Branches
A left panel has been introduced to show the local branches and remote branches from all the remotes together with couple of useful context menus.
Tags are supported but not showing by default, you can turn on it by clicking the settings button (which is a dropdown) and select the
Show tags menu item to add the tags to the left panel.
Ability to Cherry-pick Multiple Commits
In the revision grid, you’re now able to select multiple commits and cherry-pick them. Just keep in mind the first commit selected will be cherry-picked first.
In addition, the choice of whether to automatically create a commit and add reference to the original one will be kindly remembered.
Real Line Number in the Diff
In this MOD, the diff view shows the real line number of the file.
- Combined diff for merge commit that has two parents is partially supported as described earlier.
- Showing real line number of octopus merge commit is purely not supported.
Force-With-Lease is a new introduced (in git 1.85) successor of
force push as it will make sure there is no change made by other people on the remote side; thereby protecting you from inadvertently overwriting other people’s commits.
Comparing to Another Branch or Commit
Using this handy feature, you’re able to compare a commit (or branch) to another, thus easily review the changes on your branch.
The feature is accessible from the context menu:
Then you’ll see the differences in a popup dialog like below.
As you may already aware of, there is a
Compare right commit to merge base option. With it ticked, you’re able to compare a branch to the most recent common commit between the BASE and HEAD commits instead of comparing to the BASE directly. This is useful if your branch was created based on an old commit of the target branch to where your branch is going to be merged.
swap button in the top-middle of the windows is designed to swap the BASE and HEAD commit.
Moreover, you can pick up another branch or commit to compare by clicking the
Another Branch or
Another Commit button.
Select a Commit as BASE and Compare to it
As you may have already seen from the context menu, there are two items, one is
Select as BASE to compare, another is
Compare to BASE. With these two items, you can select one commit as the BASE using the
Select as BASE to compare menu, then right click another commit and select the
Compare to BASE menu to compare the later selected commit to the BASE you selected before.
ignore white space settings
The toolbar button highlighted below can ignore the white spaces changes in the diff view.
If you want, you can tick an advanced option to remember you choice.
Option to NOT Save Local Changes Preference When Checking Out
The original GitExtensions will remember the dangerous choice (the reset) made on the
Checkout branch dialog, which might cause people lose all the local changes next time.
With this MOD the choice on the
Checkout branch dialog will be saved only when the
Set as default check box is ticked.
Auto Stash before Rebase
This feature automatically performs a stash if you have any uncommitted changes before rebasing and then automatically pop the stash afterwards.
To use this feature, you’ll need to tick the
AutoStash in the advanced rebase options.
Unable to Restore Once Minimised
When having two or more GitExtensions instances running on Win7 or later, you might not be able to restore them after minimised by Win+D or Win+M.
When checking if there is a upgrade version of GitExtensions, the program may crash intermittently with an ObjectDisposedException.
Statistics Plugin Calculates Files Not Under Source Control
Now the statistics plugin only counts the number of lines for files that under source control.
If you feel that the work we provide is worth it, you can donate by using the Donate button below. This is greatly appreciated. You can use Paypal to donate even if you do not have a Paypal account.There is, of course, no obligation whatsoever.