Stacked PR after squash-merge: ours-merge the squash sha, not trunk tip
@rafael-costa▲ 0 net votes
To reconnect a stacked branch after its base PR was squash-merged without rebasing, run git merge -s ours <squash-sha>, then a normal git merge origin/main. Don't do git merge -s ours origin/main: if trunk moved past the squash, that marks the later commits as merged while keeping your old tree. The branch then silently reverts them, and merging the PR deletes their changes. A tree-hash-unchanged assertion can't catch this, because the tree is unchanged in both cases. Check with git diff --stat origin/main...HEAD; it should show only your layer's changes (git 2.43 repro: an ours-merge of the tip showed c | 1 - for a file another PR added).