The first thing you need to do is figure out if this guy is really worth going for. It's possible that he's as confused as you are. He may want to be with you but is afraid to break the bad news to his girlfriend. He could be trying to test your interest level before breaking up with her. If that's the case, he may be a bit wimpy but not necessarily a bad guy.
Be sure to look at his behavior (and your own) without romantic blinders on. Has he respected your feelings? Deep down, do you think he's using you? Does he have a reputation for being a player? Reality check: This guy may have no intention of breaking up with his girlfriend. Are you willing to be his B-list backup date? If you aren't available when he needs someone, odds are he'll find someone else. And if he cheats now, he'll probably cheat later, no matter who he's with. Would you ever be able to trust him?
Once you've decided what you want, confront him. If you want to be his one-and-only, tell him you're done dating him until he dumps his girlfriend. Be firm and don't compromise. And make sure he knows you won't tolerate the same treatment he gave his girlfriend: Any cheating and he's history. If he agrees, listen to what he says and watch what he does. Actions speak louder than words. Even if he proclaims his love for you and promises to break up with his girlfriend, if he doesn't follow through, he isn't serious about you. It will only drain your self-esteem to play second fiddle. You deserve to be No. 1 with a guy who doesn't have a No. 2.