No, you cannot tell the origin repo to "undo" the last change pushed remotely. You could SSH in and do a git reset --hard [revision]
if you have access, though. However…
If you didn't --force
the push, Git didn't overwrite anything on the origin repository. In fact, if you pushed and git didn't refuse it, that means you were up-to-date with what was in the origin repo. Assuming you pushed from your work computer to origin, then you pushed distinct changes from your home computer to origin and they were accepted, that would lead me to believe you committed them on different branches.
In order to tell you what to do to get out of this situation, you need to determine what the situation is with branches and whatnot. Once you figure it out, you can "undo" the last change by getting your local repo in the condition you want origin to be in (using git reset --hard [revision]
) then you can do a git push --force
to get that state to be reflected in the origin repo.
If you have other people working with the origin repo, though, you're going to want to simply fix the problem, not overwrite it. To do that, you have to merge the changes you want into your local repo, then commit them as a new change and push.