While trying to sort out bugs with apps on Heroku, I usually end up with a bunch of Git commits related to the bug fixing process, as I need to commit the updates in order t
Create a new branch when you start debugging (git checkout -b debugging
or similar), and then make all your commits on there, pushing them to Heroku instead of your master via git push heroku debugging:master
.
Then when you've fixed the problem, you can squash your debugging changes into a single commit and merge them back into master:
git checkout master
git merge debugging --squash
git branch -D debugging
There are lots of other ways to go about doing this, it all comes down to which you find the most logical.
You don't really want to clean up these commits. What you want to do instead is encapsulate them in a merge commit:
git checkout master
git checkout -b my-cool-bugfix
git checkout master
again, then do a non-fast-forward merge. This is essential: forcing non-fast-forward with the --no-ff
option means that a merge commit will always be created. In this case, the command would be git merge --no-ff my-cool-bugfix
.git push heroku
.You can do a git rebase -i <commit_before_fixing_commits>
and edit / squash / drop the commits and then push to Heroku.