Force pushing

Overwriting the remote's version of a branch, with the safeguard that stops you overwriting someone else.

Sometimes the remote’s copy of your branch has to be replaced rather than added to: you rebased it, or amended a commit you had already pushed. The commits on the server are not ancestors of yours any more, so an ordinary push is refused.

--force-with-lease, and only that

Innesta force pushes with --force-with-lease and offers no way to force without it.

The difference matters. A plain --force says “replace the remote with mine”, whatever the remote currently is — including commits a colleague pushed in the last ten minutes that you have never seen. --force-with-lease says “replace the remote with mine, provided it is still what I last saw”. If someone has pushed since, it fails, and the thing it refuses to do is exactly the thing nobody means to do.

There is no case where plain --force is the right answer and --force-with-lease is not — only cases where the lease has failed and the right response is to look at why.

Confirming

Force pushing asks for a written confirmation, not a button press. It also shows a preview of what the remote would lose.

The friction is deliberate and proportionate: this is one of the few operations in Innesta whose consequences are on someone else’s machine, where the Recovery section cannot help.