The San Francisco Giants have agreed to a two-year deal worth $20.5 million with free agent center fielder Harrison Bader, a source told ESPN's Jeff Passan on Monday.