Git 2.19 is here!
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=numparentis used to sort branches by how awesome they are
--sort=refnameis used to sort branches alphabetically by their name
--sort=upstreamis 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!
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.