I was curious why the word “cleave” has two opposite meanings so I referred to one of my favourite online resources, the Online Etymology Dictionary.
This shows the two meanings and explains how they used to be distinct in Old English, but later merged. Cleave (to stick) is related to clay and claggy. While cleave (to split) has many related words such as cleaver, cleft and cloven. It is also distantly related to glyph (Middle English cleven, from Old English clēofan; akin to Old Norse kljūfa to split, Latin glubere to peel, Greek glyphein to carve.)
He suggests that the confusion between the words may have caused them to be replaced by stick and split. This led me further down the rabbit hole: stick (as in glue) really is the same word as stick (a piece of wood) – because a pointed stick can be used to hold something in place. And split is from the same proto-IndoEuropean root as flint (which can be used to make a tool for slitting things).