&gt; Track the head of each branch at each point in &quot;monotonic server time<p>oof talk about over-engineering. What is the point? Just don&#x27;t allow force pushes to protected branches is a much simpler model than. &quot;Keep a bunch of bookkeeping meta data in the event of an unanticipated force push&quot;. All this complexity would only save you during the span of time those objects were collectible but not yet collected.