Let's say my node has a chain of blocks which goes A-B1-C1-D1-E1. You then send a chain of blocks which goes A-B2-C2. Provided the difficulty of all blocks is the same, then my node will simply ignore the blocks you have sent. If my chain then receives block F1, and then later you send me block F2, then again, I'll simply ignore your block since I already have a verified block at the same height. If, on the other hand, my latest block was F1, and you sent F2-G2, then I would drop F1 and replace it with F2-G2, since your chain now contains more work than mine.