Git 2.56 focuses on safer staging, faster merges and leaner packs
New Git release tightens merge safety and boosts performance on large repos while shrinking storage footprints.
The Git project has released Git 2.56.0, a new version with contributions from over 104 developers, including 39 first‑time contributors. A major usability change is `git add --resolved`, which only stages paths that are currently conflicted, scans them for leftover conflict markers, and refuses to stage anything if any selected file still contains markers, reducing the risk of accidentally staging unrelated or unresolved changes. Merge-base computation has been optimized by stopping history traversal once one side’s exclusively reachable commits are exhausted, delivering large speedups on big monorepos and cutting a Linux kernel `git merge-base --all v4.8 v4.9` run from 167,441 to 3,887 traversal steps. For server operators, path-walk repacking now works with reachability bitmaps and delta islands, enabling much smaller packs—such as shrinking a Fluent UI repository pack from 558.5 MB to 164.4 MB—without giving up fast object lookups or ref‑isolation guarantees. These changes together target safer maintainer workflows, faster graph operations, and more storage‑efficient yet scalable hosting for large Git repositories.
Why it matters
Git maintainers working on large or complex repositories get a safer default when resolving conflicts and a noticeable speed boost when computing merge bases, especially on big codebases. Hosting providers and teams with monorepos gain more efficient storage without giving up performance features like reachability bitmaps and delta islands, which can significantly cut pack sizes on large projects.
Signal or noise?
Does this story matter, or is it hype? Decide before you see what everyone else thinks.
Sources
- GitHub Blog