 Garvin was originally called Terry, for Union general Alfred Terry, and under the latter name was platted in 1886 by the railroad.The present name, for H. C. Garvin, a railroad official, was adopted in 1881.According to the United States Census Bureau, the city has a total area of , of which is land and is water.