def METHOD_NAME(self):
    from dvc.repo.experiments.push import UploadError
    try:
        result = self.repo.experiments.push(
            self.args.git_remote,
            self.args.experiment,
            all_commits=self.args.all_commits,
            rev=self.args.rev,
            num=self.args.num,
            force=self.args.force,
            push_cache=self.args.push_cache,
            dvc_remote=self.args.dvc_remote,
            jobs=self.args.jobs,
            run_cache=self.args.run_cache,
        )
    except UploadError as e:
        self.log_result(e.result, self.args.git_remote)
        raise
    self.log_result(result, self.args.git_remote)
    if not self.args.push_cache:
        ui.write(
            "To push cached outputs",
            (
                "for this experiment to DVC remote storage,"
                "re-run this command without '--no-cache'."
            ),
        )
    return 0