The 25-year-old becomes Ady Pennock’s fourth summer signing with Josh Parker and Elliott List having also extended their stays at the club.
Eaves came through the youth ranks at Oldham Athletic before joining Bolton in 2010 on a three-year-contract for an undisclosed fee.
First team chances were limited however which forced the striker to go out on loan, enjoying spells at Bristol Rovers, Shrewsbury Town, Rotherham United, Bury and Yeovil who he joined on a permanent basis last summer.
During the 2016/17 season Eaves made 48 appearances and scored seven goals, the last of which coming against Crawley in a 5-0 home win last December.
On signing the forward the Gills boss said: “It’s great to have got Tom on board; he’s strong, he’s quick and his height is naturally going to be an asset.”
Eaves added: “I’m absolutely delighted; I’m really looking forward to getting going. I can’t wait, I really can’t wait. I really like the Manager, I’ve spoken to Peter too and I think I can contribute in bringing some physicality to the team.”