Giants rally to defeat Rockies 8-6