What does git reset --soft HEAD~2 change and preserve?
git reset --soft HEAD~2
It moves HEAD and deletes the later changes from both index and working tree.
It moves HEAD and the branch back two commits while keeping index and working-tree content intact.
It leaves HEAD fixed and only unstages one file.
It deletes the last two reflog entries.