MAGNOLIA, Texas — A deputy with the Montgomery County Sheriff's Office shot a man who punched him while responding to a call in the Magnolia area Wednesday morning, according to the sheriff's office.