San Francisco Giants defeat New York Mets, 8-4