Keeping git history clean

git rebase -i 95eeee3^


git rebase helps maintain repository’s homeostasis or in other words helps maintain history clean.

git rebase -i 95eeee3^ -i begins an interactive rebasing session

Interactive mode will bring the following list of commands:

p, pick = use commit
r, reword = use commit, but edit the commit message
e, edit = use commit, but stop for amending
s, squash = use commit, but meld into previous commit
f, fixup = like "squash", but discard this commit's log message
x, exec = run command (the rest of the line) using shell
d, drop = remove commit

95eeee3 is the commit we want to modify

we can find it by doing: git log ^ means start modifying just before the specified commit


To modify a commit message and update some files:

git rebase -i 95eeee3^

change pick to edit (or just e) git reset HEAD~

update some files … git add -A . git rebase --continue

force push the change to the remote git push --force

Subscribe to The infinite monkey theorem

Get the latest posts delivered right to your inbox