git push -f takes your local copy, and forces it to the remote, NO MATTER WHAT. The remote becomes an exact copy of your local branch. What this means is that everything on the remote branch and not on your local branch, will be erased; there is no undoing this. The -f flag should never be used unless you are purposefully re-writing history. 
It is not possible to "delete" commits. You can only write over them using a '-f' which re-writes history. Therefore, if something is gone due to a -f it will never come back. It is lost forever. In other words, there is no way to see the history in github because your history has been re-written.
From the spec
-f
--force
Usually, the command refuses to update a remote ref that is not an ancestor 
  of the local ref used to overwrite it. Also, when 
  --force-with-lease option is used, the command refuses to update a remote ref whose
  current value does not match what is expected.
This flag disables these checks, and can cause the remote repository 
  to lose commits; use it with care.
Note that --force applies to all the refs that are pushed, 
  hence using it with push.default set to matching or with multiple push
  destinations configured with remote.*.push may overwrite refs other
  than the current branch (including local refs that are strictly behind
  their remote counterpart). To force a push to only one branch, use a +
  in front of the refspec to push (e.g git push origin +master to force
  a push to the master branch). See the <refspec>... section for
  details.