Git 2.56 is a feature-focused release with contributions from over 100 people, including many new contributors. One headline addition is a new git add "resolved" mode to make finishing a conflicted merge safer: it considers only paths recorded as unmerged in the index, scans regular files for leftover conflict markers and refuses to stage any of the selected files if any still contain markers. That allows you to stage only the paths you’ve explicitly resolved while leaving unrelated local edits unstaged; the mode accepts pathspecs, cannot be combined with -u or -A, and treats resolved deletions and binary conflicts normally.
The release also improves how Git finds best common ancestors (merge bases). Several Git operations - merges, three-dot diffs, and host-side tasks like pull request diffs and mergeability checks - rely on walking commit history to locate those ancestors. Git 2.56 changes that traversal so it stops once it can prove no further merge bases can exist, avoiding unnecessary history walking and reducing work for comparisons and merges, which speeds up these operations on complex commit graphs.
Summary generated by AI from the linked article. hn.today is not affiliated with Hacker News or Y Combinator.