Git Merge Commit Vs Squash Vs Fast Forward