Герман Андреев родился 14 сентября 1916 года в Астрахани. Окончил школу фабрично-заводского обучения в 1932 году, после чего работал на одном из астраханских заводов. В 1937 году поступил в Астраханское военное пехотное училище, по окончании которого в 1941 году был направлен на фронт Великой Отечественной войны. В 1943 году вступил в ВКП(б). К 1945 году Андреев имел звание майора, был награждён рядом орденов и медалей, командовал батальоном 905-го стрелкового полка 248-й стрелковой дивизии 5-й ударной армии 1-го Белорусского фронта.
Майор Андреев отличился 18 апреля 1945 года. В тот день в районе деревни Альт-Розенталь, что в семи километрах к северо-западу от Зеелова (ныне — Зелов), в контратаку перешли крупные немецкие соединения пехоты при поддержке танков. Андреев вместе со своим батальоном отбил атаки превосходящих сил врага, лично командовал ротой, обошедшей противника с тыла и уничтожившей два танка и много живой силы противника.
Майор Андреев принимал участие в Берлинской операции, в период с 26 по 30 апреля 1945 года его батальон взял в плен 490 солдат вермахта. Он лично врывался в траншеи и дома, занятые остатками немецких войск.
15 мая 1946 года указом Президиума Верховного Совета СССР за номером 9140 Герману Ивановичу Андрееву было присвоено звание Героя Советского Союза. После войны Андреев вышел в отставку, проживал и работал в родной Астрахани. 23 января 1957 года он скончался.