En un gancho de git post-checkout, ¿cómo se determina si el usuario se ramificó de HEAD?

Tengo un gancho post-checkout que no tiene sentido ejecutar si el usuario simplemente lo hizo:

git checkout -b somebranch 

¿Cómo se resuelve si la twig anterior apunta a la misma confirmación que la nueva twig?

git help hooks reports:

  post-checkout This hook is invoked when a git checkout is run after having updated the worktree. The hook is given three parameters: the ref of the previous HEAD, the ref of the new HEAD (which may or may not have changed), and a flag indicating whether the checkout was a branch checkout (changing branches, flag=1) or a file checkout (retrieving a file from the index, flag=0). This hook cannot affect the outcome of git checkout. 

Tenga en count la parte donde se invoca después de que la finalización ya se haya completado, y también la parte donde "no puede afectar el resultado de la git checkout de git checkout ".

Sin embargo, se pasan los refs de HEAD anterior y nuevo, para que pueda compararlos para ver si realmente se mudó, y hacer cosas (o no) basadas en esa comparación …