Runs :func:`cleanup` first,
        then pushes the changes to the :attr:`remote`.

def publish(self):
        '''
        Runs :func:`cleanup` first,
        then pushes the changes to the :attr:`remote`.
        '''

        self.cleanup

        remote = self.remote
        branch = self.branch
        return self.m(
            'pushing changes to %s/%s' % (remote, branch),
            cmdd=dict(
                cmd='git push -u %s %s' % (remote, branch),
                cwd=self.local
            ),
            more=dict(remote=remote, branch=branch)
        )