/changelogs/git/git-2-55-to-2-56
Git 2.55 to 2.56: what changed
The commands on this page have not been executed by our verification runner yet.updated 2026-10-20
- tool
- Git
- versions
- 2.55 → 2.56
Git 2.56 is mostly additive. The one change that can affect scripts: asking a command for help with -h or --help now exits with status 0 instead of 129. Everything else adds options and commands.
Behaviour changes
- Help exits with 0.
git <command> -h,--helpandgit rev-parse --parseoptexit with 0 when the user asks for help, following the usual Unix convention. Scripts that relied on 129 to detect "printed usage" need updating; invalid options still fail. git log --graphindents root commits (and commits that become roots through history simplification), so they no longer look related to the commit drawn above them.- Push typos:
git push origin/mainandgit branch origin mainare recognised as likely typos and Git suggests the fix. git statusadvice for a branch that is behind or has diverged from its push branch now suggestsgit pull <remote> <branch>.
New options and commands
| Feature | What it does |
|---|---|
| git add --resolved | stage conflict-resolved paths only; aborts if conflict markers are left |
| git branch --delete-merged | delete local branches already merged into their remote-tracking branch |
| git bisect --reset-when-found[=<where>] | run git bisect reset automatically when the culprit is found |
| git refs create / delete / update / rename | manage references from the git refs toolbox |
| git history drop (experimental) | remove a commit and replay its descendants onto its parent |
| git replay --linearize | drop merge commits while replaying |
| git repack --drop-filtered | reclaim space from large promisor blobs in partial clones |
| fetch.followRemoteHEAD | default for remote.<name>.followRemoteHEAD |
| [includeIf] on worktree location | conditional config based on where the worktree lives |
Looking ahead: Git 3.0
The project's BreakingChanges document lists what Git 3.0 will change for new repositories: SHA-256 as the default object format, reftable as the default reference storage, main as the default branch name, and Rust as a mandatory build dependency. Existing SHA-1 repositories keep working; there is no plan to deprecate SHA-1 repositories.
Check your version
git --versionSources
Related pages
codes · gitGit exit codes: 0, 1, 128 and 129Git exits with 0 on success, 1 for an ordinary failure or a diff with changes, 128 for fatal errors such as not a git repository, and 129 for invalid usage.compat · gitGit features by version: switch, sparse-checkout, reftableWhich Git version introduced each feature: switch and restore 2.23, sparse-checkout 2.25, SHA-256 2.29, force-if-includes 2.30, zdiff3 2.35, reftable 2.45.cheat sheets · gitGit cheat sheet: everyday commandsGit cheat sheet: setup, stage and commit, branches with switch, history, undo with restore, reset and revert, stash, remotes, tags and the reflog on one page.