A fast-forward merge can never have a merge conflict because Git won't apply a
fast-forward merge if the tip of the target branch has diverged from the source branch.
git merge master (by default treated as fast forward )
A fast forward merge is when we merge a branch that is ahead of our checked out branch.
Fast forward merge creates a linear history after the merge eliminating all the branching scenarios.
All the commits of master & feature branch will synchronised into 1. Both master & feature will show
the common branch history all the way through..
option --no-ff (i.e. true merge) creates a new commit with multiple parents, and provides a better history tracking.
Otherwise, --ff (i.e. fast-forward merge) is by default.
If we want to reuse the commits of feature branch than good to use --no-ff flag otherwise can work
with default fast forward option when changes from feature branch r merged to master and feature
branch commits r of no further use.