Giddy up

Git 2.19 is here!

Jane Elizabeth
© Shutterstock / OksanaAlex

Git 2.19 is here! The latest release comes with new features and all kinds of bug fixes. We take a look at what’s in store for developers.

It’s been a while since we last checked in with Git, but a new release is finally here!

The “stupid content tracker” has gotten an upgrade and a few new features in this latest release. Let’s dive right in, shall we?

So, what’s new in 2.19?

Copyediting and changing the past is easier than ever with git range-diff. This tool compares two sequences of commits. This includes things like changes to their order, commit messages, and the actual content changes they introduce.

Previously, developers would often use git rebase to rewrite history and polish their commits before making them public. git diff shows the difference between the two end states, but it sure doesn’t provide information about any of the individual commits.

git grep has a few new tricks up its sleeve. Now, developers can locate the first matching column of their query with git grep --column. This lets them access additional information for matches, like line number and function content.

Vim users can also try out git –jump, a Git add-on that leaves a trail of breadcrumbs to keep them from being lost in the forest. More specifically, it converts important locations in their code to jump locations in their text editor. This includes things like merge conflicts, diff hunks, and exact grep locations with git grep –-column.

Search parameters can also be narrowed with git grep --o. This option lets developers find the things that only-match, useful for non-trivial regular expressions.

SEE ALSO: Mercurial or Git as SCM for Java 12? “Git seems to be more tool-friendly than Mercurial at the moment”

Sorting through branches is simpler thanks to set a default sort order with the branch.sort config of git branch. By default, git branch sorts by refname, hence master is first and newest is last.

Other sorting options include:

  • --sort=numparent is used to sort branches by how awesome they are
  • --sort=refname is used to sort branches alphabetically by their name
  • --sort=upstream is used to sort branches by their originating remote

Git 2.19 also takes care of boring data entry work with a new upgrade to git merge. Now, if branches move directories to different files, the files are appropriately renamed.

Git 2.19 also improves on Git 2.17’s colorization scheme. Many commands are colorized. Now, lines are colorized based on age or by group. Any messages sent from a remote server are now colorized based on their keyword and push errors are red for increased visibility.

Future features that are in the oven include things like partial clones, commit graphs, protocol v2, and transitioning away from SHA-1. Obviously, all of these things are too big to do in just one release, so they will be rolled out in an orderly fashion in the next few releases. Keep your eyes peeled for any of these new changes!

SEE ALSO: Is the .git folder of your website secure? Research suggests that might not be the case!

Getting Git 2.19

Want to try out the latest in Git or fix some of those error messages? Git is available for download on GitHub.

The full release notes are available here.

Jane Elizabeth
Jane Elizabeth is an assistant editor for

Inline Feedbacks
View all comments