Git Merge vs Git Merge-No-Ff

By default git merge tries to execute a "fast-forward".
- default: Simply moves commits and shifts head of master to the front.
- --no-ff: Creates a merge commit instead.

--no-ff can be desirable if you want git to maintain a history of 
feature branches.          
GitPaulo