The San Francisco Giants and Brandon Crawford have reached an agreement on a six-year contract through 2021, club senior vice president and general manager Bobby Evans announced Tuesday. The deal covers his two remaining years of arbitration and four years of free agency.