Answer :

They really didn't hide it just kept it a secret, the Germans did know an invasion plan was at work just didn't know when or where it was going to happen. So they were ready on the beaches and planted land mines on the ground just in case, so if we came some soldiers would get blown up. The Nazi's were trying as hard as possible to get the info but it was to late by the time they got the news we had already taken over the french beach that they had doubt that was the beach we were going to land on.
Allies strategy was to convince axis that the invasion will take place in Pas de Calais. General Patton was commanding First United States Army Group - a fake army which was located on the other end of  La Manche channel than Pas de Calais. Even after landing in Normandy Germans left toops in Calais, thinking that D Day landing is just a deception.
It is known as Operation Quicksilver, part of Operation Fortitude.