Normally, when I wish to fix or clean up history I’ll do The Right Thing(clone
`/etc` repo, edit, and force `pull` the changes).  *However*, occasionally I’ll
perform a quick in-place `rebase` when the depth is *very* shallow or will be
non-destructive.

If — like me — you do this then you’ve probably been bitten by `.etckeeper`
breakage when simply re-ordering commits.  If so, then the following addition to
your `.git/hooks/pre-commit` will prevent the hook running while in a `rebase`
session.

```
if git branch | grep -q '^\* (no branch'; then
    echo "Skipping pre-commit hook in rebase" >&2
    exit 0
fi
```

**Note**: The unbalanced parenthesis in the match is on purpose, depending on
your `git` version you could have a simple `(no branch)` or the far more helpful
`(no branch, rebasing <branch>)` branch name.

I’d be interested to know if other users have a better way to handle this.

-- James
