Plan: - [ ] raise an error if dirty tree - [ ] push - [ ] after merge, delete the remote branch at the end - [ ] after delete remote branch, switch to master and delete the local branch