Hei! is the universal greeting in Norway. It is pronounced with a rising tone, as if you’re really enthusiastic about something! (I guess there’s a reason why the Swedes always make jokes about Norwegians being hyper! ) In most of the country, it sounds like it’s halfway between the English greetings hi! and hey!
In some parts of Vestlandet, however, it sounds just like English hi, so just say that, if you’re unsure! (But keep the enthusiasm!)
Hallo? is something you might say when receiving a phone call and you’re not sure who it is (like hello? in English). It’s also okay to say hallo! when shaking someone’s hand, if you feel hei! is too happy-go-lucky. If you see a friend of yours higher up the mountain, hallo! is also an excellent attention shout to use while waving your arms.
God morgen! [gohMORen] works just like good morning in English: A nice thing to say when the person next to you has just woken up from sleep, or when you see your colleages or friends for the first time in the morning. (Go’ morgen is even the name of a popular yoghurt with in-the-box cereals.)
God dag! [goDAG] does not exist in English: It literally means ”good day!” and can be used during any of the light hours – in theory, at least. My gut feeling tells me it’s a bit old-fashioned to use a lot in 2012, and that you should rather go for hei or hallo… (Feel free to disagree in the comments!)
God kveld! [goKVELL] means ”good evening”, and is used, well, when you wish to wish someone a good evening…
Say god natt! [goNATT] (good night) only if your intention is to really go to sleep… If you do meet someone while walking in the dark, use hei, hallo or god kveld.
Ha det bra! [ha-deh-BRA] is used when taking leave. It means ”have it good!”, that is, ”I wish that you may have a good time!” Most Norwegians shorten it to
Ha det! [HAH-deh] (Bye!)