Git Extensions Session #6 – Release notes generator

In this post I will show you how to generate release notes between two commit hashes, branch names or tags using git extensions.

From the main menu locate plugins and select the release notes generator plugin. You will see a dialog as shown in the screenshot below. In the screenshot I show how I have  created release notes between two release tags of the Telerik JustDecompile Engine together with the result release notes.

release notes.png

Git Extensions Session #5 – Statistics

As promised in an earlier post on the git extensions Impact Graph plugin I was to cover a similar plugin, the statistics plugin. This plugin can provide very interesting information about a project.

On the main menu locate plugins and select the statistics plugin. You will be presented with a dialog reviewed in the screenshots below. You will be provided with the following views (I particularly like the last one):

  • Commits per contributor
  • Lines of code per language
  • Line of code per type
  • Lines of testcode



Git Extensions Session #4 – Impact graph

If out of interest (please not for any other reason) you want to see in terms of commits and code lines changed how much you impact a project you can with git extensions.

On the main menu locate plugins and select a plugin called impact graph. You will see as screen as below with each color representing a user. The graph will show you how many commits each made overall and the timeline.

impact graph.png

Just so its out there, this is really not a metric for a persons performance or even impact as the name suggests. You can get a different view of similar information and more using the plugin Statistics covered in a later post.

If you simply want to see commits per user the fastest way is Tools -> Commits per user.

Git Extensions Session #3 – Git large files

Having issues with large pulls/fetches and not sure why. Well there could be a number of reasons such as committing dlls that could be on nuget or files that can be generated. Not to get into why really but git extensions can help you find out which files are contributing to here.

On the main menu select Plugins, then select the plugin named Find large files. Let this plugin run, it may take a while. The results will have information such as file paths and sizes. You can sort by any field of interest and can optionally delete the files (be careful). A quick research will surely provide you with some interesting solutions as to how to avoid checking in certain files.

large files.png

Git Extensions Session #2 – background fetch

With my work projects I prefer to keep up to speed with all commits being made. However it is tedious to constantly have to do a fetch and view the changes. I prefer that each time I happen to view my git extensions session I see all the changes done at least in the past 4 hours. Fortunately for me git extensions has a plugin to make this work.

In the menu you will find the plugins option and there you will find a plugin called Periodic background fetch. Below is a screenshot of how I have setup mine to fetch every 4 hours.

periodic background fetch.png

Git Extensions Session #1 – Commit templates

This is the first post of some thread of posts I shall be making about Git Extensions. In this first post I will cover Commit Templates. Most of the teams when we make commits especially in a team the commit message follows some rules making it very repetitive. For instance my time the first line is always something like: Resolved TC-JiraIssue# where TC are my initials followed by the Jira issue number. We do this because these messages will later be scraped for stuff such as release notes. After that subsequent lines will provide more details about the fix and any info that could be useful later when someone has to do a blame or issue is reopened.

Given that, it would help productivity by having some templates that we make use of and edit for each commit as need be. Offcourse git extensions has such an option. The option can be found in the commit dialog as show below:

commit screen

Pulling down the Commit templates will show the following dialog:


In the screenshot above I show a sample of a very simple template I have made. To make use of the template(s) pulling down Commit templates will show all the templates you have selected. Select one and the template will be applied in your commit message. You can then edit the message and make a happy commit.