For one night, the defending World Series champion Giants put together a fine pitching performance, played solid defense and scored just enough to get it done. Jeff Keppinger hit a two-run double, Madison Bumgarner won for only the second time in six starts and San Francisco held off the Houston Astros 2-1 on Friday night.