I've just started using the program CPT 3.2http://community.chesspositiontrainer.com/files/7/releases/entry10.aspx You can choose the opening you want and how many moves deep and the computer tests you with different lines. It's great for repetition.
What's a good way to learn opening lines?

Learning openings 10 or 20 moves deep without understanding what's going on won't help you.
And to understand what's going on at this depth, you'll need some time, or a good chess teacher
This being said, if you want to learn some openings without being completely lost, a good idea could be to pick a specialist book on this opening (look at the books section or on Amazon). But as it has been said above, it might not be the very best way to use your chess study time at first.
I'm not talking about the first 2-3 moves. I hear pros know a ton of opening lines and variations 10 maybe even 20 moves deep. Opening lines are something that I need to learn since I'm a noob and just play on the fly for the most part. So what's a good way to learn opening lines and variations? Is it through books, stuff you can find online, etc? Any recomendations?