def push(self, remote, branch=None):
        '''Push a repository
        :param remote: git-remote instance
        :param branch: name of the branch to push
        :return: PushInfo, git push output lines
        '''
        pb = ProgressBar()
        pb.setup(self.name, ProgressBar.Action.PUSH)
        if branch:
            result = remote.push(branch, progress=pb)
        else: #pragma: no cover
            result = remote.push(progress=pb)
        print()
        return result, pb.other_lines
Push a repository
        :param remote: git-remote instance
        :param branch: name of the branch to push
        :return: PushInfo, git push output lines