`git rebase -i` is your friend. Check it out! (No pun intended.)
Also, if you push a generic WIP commit, like Will suggested, you can just `git reset` to the commit before that on your other machine and proceed to commit different pieces of it after.