Git 3.0 will default to SHA-256, but transitioning the world away from SHA-1 creates massive ecosystem friction for minimal practical security gain.
Git operates as a content-addressable object store where commit identity, tree structures, and history are cryptographically bound to hashes. Moving to a 256-bit hash algorithm breaks compatibility across existing tooling, submodules, interoperability bridges, and repository mirrors without addressing the primary threat models development teams face in production.
Attacking Git through SHA-1 collisions requires crafted binary blobs with identical prefixes, an attack vector that modern Git already mitigates using hardened collision-detection algorithms. Forcing an ecosystem-wide migration requires rewriting every existing object identifier and upgrading hosting infrastructure across the industry.
Engineers will spend substantial resources reconciling incompatible remotes, managing dual-format bridges, and updating developer workflows for an algorithmic change that yields virtually zero daily defensive improvement.
Protocol migrations must provide operational value that clearly exceeds their collective coordination costs.






