Skip to content

Automagically absorb uncommited chages into the right ancestor commit in your working branch.

License

Notifications You must be signed in to change notification settings

bertoldia/git-absorb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

git-absorb

A git command inspired by the mercurial command of the same name described here.

The gist of this command is to automagically fixup or squash uncommitted (though possibly staged) modifications into the right ancestor commit (or a user specified commit) in a working branch with no user interaction.

The common use case or workflow is for e.g. to modify commits in response to issues raised during a code review, or when you change your mind about the content of existing commits in your working branch.

An alternate workflow for the above use-cases is to do an interactive rebase, mark the relevant commits with (m)odify, make changes, then do git add + git rebase --continue.

Phase 1

  • user must specify target commit into which changes should be absorbed.
  • no squash, fixup only.

Phase 2

  • find (if it exists) the single commit that can cleanly (i.e. without merge conflicts) absorb the outstanding changes. Fail if more than one such commit exists.
  • no squash, fixup only.

Phase 3

  • Add support for --squash.

About

Automagically absorb uncommited chages into the right ancestor commit in your working branch.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published