title: Source Tree - what is the difference between remove, discard, ignore?
body: <p>I"m new to Sourcetree, so if I right click on a file in the unstaged files area, there are multiple options. So my question is: what is the difference between remove, ignore and discard? Also, when I just do pull from a branch, why do I need to commit unstaged files? I just want to do a pull (update).
  And how I can just compare a file with this remote version?
  Thank you! </p>