(#20843) Support history rewrites in the git workflow

This commit changes the post-update hook to fetch and reset, instead of
just pulling. This came about because I had students that would amend
commits or rebase, and the rewritten history would not make it to the
puppet master.