Na Guerra Civil Americana, Geddes serviu no exército da Unión, alistándose como soldado da 8a Infantería de Iowa. Foi ascendido a capitán e despois tenente coronel, e despois de febreiro de 1862 como coronel de voluntarios. Participou nas batallas de Shiloh.
Foi ferido e capturado. Foi encarcerado durante un tempo en Madison, Xeorxia, e na prisión de Libby en Richmond, Virxinia. Despois de ser intercambiado, loitou en Vicksburg e Jackson. En outubro de 1863, recibiu o mando dunha brigada e foi enviado a Brownsville, Texas. Posteriormente, serviu como alcalde de Memphis, Tennessee, ocupado polo goberno federal, que salvou da captura da cabalería confederada baixo Nathan Bedford Forrest. Comandou unha brigada na Campaña Móbil e loitou con distinción na Batalla de Spanish Fort. O 13 de xaneiro de 1866, o presidente Andrew Johnson nomeou a Geddes para o grao de brigadier xeral de voluntarios, a partir do 5 de xuño de 1865, e o Senado dos Estados Unidos confirmou o nomeamento o 12 de marzo de 1866.