Rogers will join his twin brother, Tyler, in San Francisco after splitting last season between the San Diego Padres and Milwaukee Brewers.
Between the two clubs, the southpaw threw 64.1 innings with a 4.76 ERA while picking up 31 saves.
An All-Star in 2021 with the Minnesota Twins, Rogers has spent seven seasons in the big leagues, throwing 379 innings with 81 career saves.
The 32-year-old was shipped to Milwaukee before the 2022 trade deadline as part of the trade that sent Josh Hader to San Diego.
Rogers is the second reported signing of the day for the Giants, after the team reportedly agreed to a two-year, $36-million deal with outfielder Michael Conforto Friday morning.
San Francisco is looking to rebound from an 81-81 record and a third-place finish in the NL West last season.