Git 2.48 Is Out with Faster SHA-1s, Meson Takes the Stage

Git 2.48 distributed revision control tool delivers Meson build system support, faster SHA-1s, memory leak-free tests, and more.

Git, a distributed version control system and cornerstone tool in software development that helps developers efficiently manage changes in their code across multiple projects, has just released its new 2.48 version.

One of the standout achievements in this update involves speeding up SHA-1 calculations used strictly for checksums. In light of this, early benchmarks from GitHub indicate a 10–13% performance improvement for clone operations across all repositories.

If you want to check out this new feature yourself, try compiling Git with a build-time option such as “make OPENSSL_SHA1_UNSAFE=1.”

Developers who frequently compare rebased commit sequences might already know how handy Git’s range-diff command can be. Meanwhile, --remerge-diff makes it easier to inspect how merge conflicts were resolved.

Git 2.48 represents the first time these two features come together: now, you can supply --remerge-diff to range-diff and view changes not only within linear commits but also in merge commits adjusted via --rebase-merges.

Moreover, as a helpful side effect, a longstanding --remerge-diff bug has been fixed. This fix enables tools like git log --remerge-diff to work more reliably even when you use options that change the order of commit traversal (e.g., --reverse).

And now to something quite interesting – for almost two decades, Git’s default building process has centered on GNU Make. However, according to devs, this Makefile has grown considerably in both size and complexity over the years. To tackle this challenge—and keep Git friendly for new contributors—Git 2.48 introduces Meson as an alternative build system.

Partial clones—introduced to help users working on massive repositories—also got a healthy dose of attention in this release. Notably, developers fixed an infinite loop bug and refined how Git handles promisor references to avoid accidentally breaking repositories after a git gc.

Last but not least, Git 2.48 allows for more reliable tracking of the remote’s default branch. If you have ever cloned a repository and wondered why subsequent fetches did not update your local “refs/remotes/origin/HEAD” to match the remote’s default branch, Git 2.48 has some good news.

From now on, Git will update this symbolic reference if it is missing on your local side but set on the remote. Moreover, you can further manage this functionality with the “remote.origin.followRemoteHead” configuration. Setting it to “warn” or “always” will produce a warning or automatically synchronize with the remote’s default branch.

For more detailed information on all changes and novelties in Git 2.48, visit the full changelog.

Bobby Borisov

Bobby Borisov

Bobby, an editor-in-chief at Linuxiac, is a Linux professional with over 20 years of experience. With a strong focus on Linux and open-source software, he has worked as a Senior Linux System Administrator, Software Developer, and DevOps Engineer for small and large multinational companies.