Two months after the release of version 2.6, Git 2.7 has been announced, bringing many new features as well as performance improvements.
Here is a selection of the major changes that Git 2.7 includes:
git remote
supports aget-url
subcommand that will show the URL for a given remote.git rebase
added a new command line option,--no-autostash
, that will override therebase.autostash
configuration variable.git worktree
supports alist
subcommand to display a repository’s worktree and their associated branches. Worktrees are a feature firstly included in Git 2.5 to make it easier to work on multiple branches of the same repository.git bisect
has been made to work nicely when used concurrently on multiple worktrees. Additionally, the command now supportsold
andnew
subcommands to make its use less confusing than with the previousbad
andgood
subcommands.bisect
is useful when hunting for a hard to identify state change that produced some undesired effect. It allows developers to mark agood
/old
commit and abad
/new
commit so a binary search can be carried through those commits looking for the one that broke things.git submodule
supports a new configuration option,push.recurseSubmodules
to help developers pushing changes to the main module without previously pushing their changed submodules. The same effect could be obtained by using the--recurse-submodules=on-demand
option on the command line, but the newpush.recurseSubmodules
can make that behaviour be the default.git stash
supports a new configuration option,stash.showPatch
, to make it always show the actual patch instead of a list of paths affected files. This behaviour could be obtained in Git 2.6 by using the-p
flag on the command line.- On the performance front, progress has been made to rewrite
git submodule
in C.
Git 2.7 includes many more changes, including 800+ commits. You can read the full list in the release notes.