code: def checkout(self, _hash: str) -> None:
          
          with self.lock:
              self._delete_tmp_branch()
              self.git.checkout('-f', _hash, b='_PD')
docs: Checkout the repo at the speficied commit.
          BE CAREFUL: this will change the state of the repo, hence it should
          *not* be used with more than 1 thread.
  
          :param _hash: commit hash to checkout