# tummychow/git-absorb

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/tummychow-git-absorb).**

5,404 stars · 93 forks · Rust · bsd-3-clause

## Links

- GitHub: https://github.com/tummychow/git-absorb
- Homepage: https://crates.io/crates/git-absorb
- awesome-repositories: https://awesome-repositories.com/repository/tummychow-git-absorb.md

## Topics

`git` `rebase`

## Description

git-absorb is a command-line version control utility designed to move staged changes into previous commits. It functions as a commit management and rebase automation tool that analyzes Git history to identify the correct ancestral commits for absorbing modifications.

The tool automates the process of folding current changes into ancestor commits, removing the need for manual interactive rebases. It focuses on maintaining atomic commits and cleaning project history by refining code changes and moving them into earlier, related commits.

Its capabilities cover commit history analysis, index manipulation, and the automated execution of rebase commands to ensure project history remains logical and clean.

## Tags

### Software Engineering & Architecture

- [Ancestor Commit Folding](https://awesome-repositories.com/f/software-engineering-architecture/atomic-commit-automations/ancestor-commit-folding.md) — Provides a CLI capability to automatically fold staged changes into ancestral commits by analyzing version history. ([source](https://cdn.jsdelivr.net/gh/tummychow/git-absorb@master/README.md))
- [Atomic Commit Automations](https://awesome-repositories.com/f/software-engineering-architecture/atomic-commit-automations.md) — Ensures commits remain atomic by absorbing subsequent related modifications back into the original commit.
- [Patch Application](https://awesome-repositories.com/f/software-engineering-architecture/code-patching-engines/patch-generators/patch-application.md) — Applies staged changes to historical commits using patch files or fixup commits.

### Development Tools & Productivity

- [Commit History Analysis](https://awesome-repositories.com/f/development-tools-productivity/commit-history-analysis.md) — Analyzes the commit history to identify which ancestor commit first introduced changes to specific staged files.
- [Commit Management](https://awesome-repositories.com/f/development-tools-productivity/commit-management.md) — Manages commit hygiene by moving staged changes into previous commits for a cleaner history.
- [Git Utilities](https://awesome-repositories.com/f/development-tools-productivity/version-control-repository-tools/version-control-managers/git-utilities.md) — Extends git functionality with a utility that analyzes history to absorb staged changes into previous commits.
- [Interactive Rebase Automators](https://awesome-repositories.com/f/development-tools-productivity/version-control-repository-tools/version-control-managers/version-control-automation/interactive-rebase-automators.md) — Automates the generation and execution of interactive rebase commands to fold changes into ancestor commits.
- [Index and Graph Manipulation](https://awesome-repositories.com/f/development-tools-productivity/command-orchestrators/plumbing-command-orchestration/index-and-graph-manipulation.md) — Utilizes low-level git plumbing commands to precisely manipulate the index and commit graph during history rewriting.
- [History Refinement](https://awesome-repositories.com/f/development-tools-productivity/commit-management/commit-message-annotations/history-refinement.md) — Refines project history by moving related code changes into earlier, more appropriate commits.
- [Git Cleanup Utilities](https://awesome-repositories.com/f/development-tools-productivity/version-control-repository-tools/version-control-managers/git-utilities/git-cleanup-utilities.md) — Cleans up historical mistakes by automating the process of folding changes without manual interactive rebases.

### DevOps & Infrastructure

- [Commit History Management](https://awesome-repositories.com/f/devops-infrastructure/version-control-management/version-control-utilities/commit-history-management.md) — Merges new modifications into previous commits to maintain a clean and linear project history.
