You messed up the remote by pushing a broken branch
If (and when) you break the Master branch by pushing an incomplete and broken local copy, dry your tears, take heart! This can be fixed.
Note, this should not be possible. If you are using Azure DevOps (or something similar) your pipeline should not accept any merge that doesn't compile (and arguably pass a set of unit tests). But I digress…
The first command you want is:
git reset --hard <remoteRepository> / <Yourbranch>@{1}
That resets your local copy of <Yourbranch>
to the last synchronized version of <remoteRepo>
. Thus, if your branch is Feature1 and it is on origin, you would write:
git reset --hard origin/Feature1@{1}
Now you want to restore the remote repo to its state before you broke it:
git push -f <remoteRepository><Yourbranch>