diff options
author | tummychow <tummychow@users.noreply.github.com> | 2018-03-10 23:04:06 -0800 |
---|---|---|
committer | tummychow <tummychow@users.noreply.github.com> | 2018-03-10 23:04:06 -0800 |
commit | 3c57fa416f1f1bacdf6b19789988dc84c9ae95f3 (patch) | |
tree | 5142858e99a8f953c68c2067e2a39bcae009098e | |
parent | 7ac2918bf1a63fff47a36a1cf86e364338c53df1 (diff) |
add readme0.1.0
public beta acquired
-rw-r--r-- | README.md | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/README.md b/README.md new file mode 100644 index 0000000..0c9c429 --- /dev/null +++ b/README.md @@ -0,0 +1,16 @@ +# git absorb + +This is a port of Facebook's [`hg absorb`](https://bitbucket.org/facebook/hg-experimental/src/default/hgext3rd/absorb/__init__.py?at=default&fileviewer=file-view-default), which I first read about on [mozilla.dev.version-control](https://groups.google.com/forum/#!msg/mozilla.dev.version-control/nh4fITFlEMk/ZNXgnAzxAQAJ). + +## Elevator Pitch + +You have a feature branch with a few commits. Your teammate reviewed the branch and pointed out a few bugs. You have fixes for the bugs, but you don't want to shove them all into an opaque commit that says `fixes`, because you believe in atomic commits. Instead of manually finding commit SHAs for `git commit --fixup`, or running a manual interactive rebase, do this: + +``` +git add $FILES_YOU_FIXED +git absorb +git rebase -i --autosquash +``` + +`git absorb` will automatically identify which commits are safe to modify, and which indexed changes belong to each of those commits. It will then write `fixup!` commits for each of those changes. You can check its output manually if you don't trust it, and then fold the fixups into your feature branch with git's built-in autosquash functionality. + |