If I understand correctly, you develop your app locally, but you can only test it on a remote server, by pushing to a git repo on the server (and then checking out a working copy there, I suppose).
In that case, you will have to run git bisect
on the working copy on the remote system. git bisect
does not create new commits or new branches, it just checks out different commits (thus putting you into "detached HEAD" state). Therefore there you cannot push the intermediate states created by git bisect
to a remote (technically you could, but you'd have to force-push every time, and you'd then need to fix things up in the remote working copy anyway, so that would not help you).
But as I see (correct me if I'm not catching the idea right), git
bisect changes just the state of my local repo, not origin.
Yes, exactly. To be precise, it only changes which commit is currently checked out in your local working copy.
TL;DR:
Log in to the remote server, and run git bisect
there. If you can only access the server by pushing there, then you're on your own - git does not support this (at least not without a few ugly hacks).