tummychow/git-absorb

git commit --fixup, but automatic

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 6 minutes ago
Added to GitGenius on September 11th, 2026
Created on February 15th, 2018
Open Issues & Pull Requests: 28 (+0)
GitHub issues: Enabled
Number of forks: 110
Total Stargazers: 5,719 (+0)
Total Subscribers: 19 (+0)

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Issue API getrepoissuespagesummary failed: 429 Rate limit exceeded. Please try again later.

Detailed Description

git-absorb is a Git tool that automatically applies fixup commits to their target commits during interactive rebasing.

The tool solves the problem of manually tracking which commits need fixes and then using git commit --fixup to create fixup commits that must later be reordered and squashed. Instead of this manual workflow, git-absorb automatically detects which existing commits in your history are affected by staged changes and absorbs those changes into the appropriate commits. It works by analyzing the diff of your staged changes, matching hunks against the commits in your branch history, and then automatically reordering and squashing the fixup commits during rebase.

The tool suits developers who frequently make small corrections to earlier commits in a feature branch and want to avoid the overhead of manually creating and managing fixup commits. It is particularly valuable in workflows where you are iterating on code and discovering issues that need to be fixed in commits further back in the history. The README positions it as an alternative to the standard git commit --fixup workflow, automating the parts that would otherwise require manual intervention.

The project shows consistent maintenance with regular commits addressing bug fixes and improvements. The codebase demonstrates attention to edge cases and correctness, with fixes applied to issues like handling merge commits and improving the matching algorithm for absorbing changes. Development activity includes refinements to the core absorption logic and updates to handle various Git scenarios that users encounter in practice.