Git 2.9.0 was announced this week by Junio Hamano as the latest stable version of this distributed revision control system. There are plenty of features and fixes in the release’s official changelog, but here are a few of the most exciting and interesting:
--compaction-heuristicis an experimental feature for diff that attempts to find logical “hunks” when changes are made (there’s a good example here).
- Rename detection, an old Git feature, is now enabled by default.
- A new
diff-highlightscript allows individual changes within lines to be emphasized.
- Mark-up for the top-level README.md now shows CLI commands as distinct from body text.
jobsoption, released in Git 2.8.0, is now available not just for fetching submodules, but for cloning or updating submodules.
- Git no longer allows (by default) merging branches without a common base.
git logaccounts for indentation in commit messages, which will now keep tables and other position-dependent ASCII properly aligned.
git rebaseallows an
-xoption for full-branch testing.
- Git now allows you to set CL config options for submodule fetches.
- Hook scripts can now be configured to have custom paths, so keeping these scripts in one place for multiple repositories is now possible.
- Git is now friendlier with Perforce with the
git-p4tool, which let’s you use the Git client for a Perforce project by mapping P4 author names to Git author names.
git describeand its
--containsoption became more user-friendly, now finding the oldest tag containing the commit.
git commitnow acts the same as the CLI
make rpmsupport officially ended.
Check out the full release changelog to see if there are other changes which can be useful for you. You can get the newest version from source at https://git-scm.com/downloads, https://github.com/git/git/, or you can do
git clone git://git.kernel.org/pub/scm/git/git.git.