title: What are the differences between `--squash` and `--no-ff --no-commit`?
body: <p>Which one should one use to hide microcommits?</p>
  
  <p>Is the only difference between <code>git merge --squash</code> and <code>git merge --no-ff --no-commit</code> the denial of the other parents? </p>