Учасник Першої світової війни з 1915 року. Воював на Західному фронті, повний Георгіївський кавалер. У 1916 році був поранений. Після госпіталю два місяці служив у кулеметному полку в Оранієнбаумі. У листопаді 1917 року залишив фронт і повернувся додому.
У травні 1918 року вступив до лав Червоної Армії. У боях при обороні Царицина був поранений. Після лікування в службі військових сполучень 10-ї армії К. Є. Ворошилова. Був помічником військового коменданта на станціях Царицин, Качалін, Арчеда, Саратов. У 1919 році за особистим проханням був направлений в стрілецьку частину, командиромкулеметноїроти, потім командиром роти при штабіПівнічно-Кавказького військового округу. У 1919 році вступив у РКП(б).
У 1920 році був повернений до служби військових повідомленнь, призначений до залізничної ділянки Новоросійськ—Туапсе. Після вигнання військВрангеля з Криму в зоні відповідальності Ковальова велика морська ділянка від Севастополя до Новоросійська і Батумі. У 1922 році переведений на ділянку Самара—Казань, а звідти до Астрахані військовим комендантом залізничної ділянки. У березні 1926 року — начальник відділення експлуатації Волзького басейну з центром у Нижньому Новгороді. Потім — військовий комендант залізничної ділянки Дно Октябрської залізниці, Ленінград-Варшавський. З 1932 року навчався у Військово-транспортній академії.
У 1935 році закінчив Військово-транспортну академію імені Лазаря Мойсейовича Кагановича і був направлений на роботу в Народний комісаріат шляхів сполучення СРСР. Працював в оперативно-розпорядчому відділі Головного управління експлуатації старшим ревізором, диспетчером, заступником начальника, начальником оперативного відділу.
У травні 1937 року очолив Московсько-Київську залізницю. До першого кварталу 1939 року магістраль увійшла до групи доріг, які працювали ударно по навантаженню і вивантаженню. Восени 1939 року — начальник Віленської залізниці.
У 1939 році призначений заступником народного комісара шляхів сполучення СРСР і начальником оперативно-експлуатаційного управління (з 1942 року — Центральне управління руху) Народного комісаріату шляхів СРСР. Йому довелося організовувати перевезення під час війни з Фінляндією і з перших днів радянсько-німнцької війни.
24 червня1941 року на всіх магістралях СРСР був введений військовий графік руху. Особлива відповідальність лягла на всіх працівників управління на чолі з Г. А. Ковальовим: організація всіх без винятку перевезень в глибокому тилу і для фронту. Особлива увага приділялася збільшенню провізної здатності доріг, організовано рух спарених поїздів, кур'єрський рух ешелонів з військовими частинами до фронту.
У лютому 1942 року при ДКО був створений Транспортний комітет до складу якого було включено Г. В. Ковальова. У березні того ж року він призначається начальником Центрального управління руху НКШС. Велика заслуга Ковальова в організації восени 1942 року перекидання військ в район Сталінграда: 3 269 ешелонів з військами і 1 052 — з боєприпасами, пальним і продовольством. На фронтових ділянках Рязано-Уральської і Південно-Східної залізниць під вивантаження подавалося на добу понад 30 поїздів, що в 10 разів перевищувало норми мирного часу. Перевезення проводилися в темний час доби і ворожа розвідка не змогла зафіксувати зосередження в межиріччі Волги й Дону великого угруповання військ.
За всю війну по залізниці регулярна армія отримала 19 мільйонів вагонів військових вантажів, а народне господарство — майже 67 мільйонів тонн необхідних вантажів.
У жовтні 1945 року Г. В. Ковальов призначений начальником щойно організованого Донецького округу залізниць, з 1947 року керував Південно-Західним округом залізниць, а після скасування округів, з 1951 року — Південно-Західною залізницею.