The Giants scored four runs in the eighth and then held on to beat the Rockies 6-5 on Saturday night and extend their winning streak to seven games. The Giants moved five games behind the Diamondbacks in the NL West with 10 games to play after Arizona lost at San Diego. San Francisco has made up 4 1/2 games on Arizona in a week.