Древнеанглийская форма данного глагола - gan в значении «продвигаться, идти» происходит из западногерманского слова *gaian (источник голландского gaan, немецкого gehen). Относится к древне-индоевропейскому корню *ghē- "освобождать, отпускать, позволить идти" (санскритское jihite (джихите, йихите - "идите, уходить прочь") Являлся неправильным глаголом на протяжении всей своей истории; древнеанглийское прошедшее время имело форму eode. Слово неопределенного происхождения, но, очевидно, когда-то было образованно от другого глагола (возможно, связанного с готским iddja - "иддя" - идти)...
В русском языке "идти" вообще, "иду" сейчас, "шел", "ходил" в прошлом, вчера, когда-то. Посмотрите - это же вообще разные слова, и какая закономерность изменения по временам? Тут вовсе не логика, а нечто другое. В других языках все по-разному, но что происходит в английском? В английском же глаголы есть правильные и неправильные, в правильных для образования прошедшего времени просто добавляется окончание ed, в неправильных - учим вторую форму. В любом учебнике на последних страницах обычно есть...