Call them cousins. English and German both descended from Proto West Germanic, with German descending from old High German. High German underwent a consonant shift that other West Germanic dialects (e.g., Frisian, Dutch, Old English) did not. For example, the /p/ -> /f/ change, which gives us English ship and German Schiff, English penny and German Pfennig.
Of course, Old English also had the Celtic substrate to contend with. In fact, there are close relationships between the English progressive tense and Welsh that are most easily explained by proto-Welsh influence. Then you had the Viking invasions which layered on some North Germanic / Scandinavian features, including stuff as basic to English as pronouns like they and their. Then there was the Norman invasion which dumped a whole new set of vocabulary and features into English. And finally, the explosion of printed English in the 16th century and beyond allowed “learned” vocabulary from Latin and Greek to proliferate.
That’s why English will have three different words to say the same thing. For example, weak came from Old Norse, but it means very much the same as frail, which came from Old French. Then you have fragile, which has the same Latin root as frail, but was reimported as a Latin-based word hundreds of years later.
I think that’s part of why I enjoy learning Japanese so much. It works the same way! You have native Japanese words, but then these successive waves of Chinese word imports. The same word might be imported several times, hence the multiple on’yomi readings on top of the native kun’yomi reading.