The expressions "hand over hand" and "hand over fist" seem to be related. Apparently "hand over hand" was a British term for the act of moving quickly up a rope or hoisting a sail, which was a matter of pride and competition among sailors. It is thought that American sailors changed this term to "hand over fist", and the term now means to advance or accumulate rapidly.
But why "fist"?