It happens in some cases that after the checkout of an branch the worktree is in unClean state.
If you want to reset this changes (withg Mode: git.HardReset) everything should be reverted.
BUT: If the modified file is also excluded in the .gitignore file then this file is not reverted.
If you run the command with the git console client (git reset --hard) all is reverted as expected.
Test application to reproduce the issue: https://github.com/daolis/gogit-reset-bug
This behaviour was introduced with cf51e2febf37 #718
FYI @cbbm142 @pjbgf