SAN FRANCISCO -- Casey McGehee hit the first grand slam of his career, Tim Lincecum struck out a season-best eight batters, and the San Francisco Giants beat the Miami Marlins 6-0 on Friday night.