Last time around, you tried to resolve this conflict in-character, and the outcome left you "burning with rage". I would take this as a big clue that in-character is not the best way to resolve this sort of thing. You'd be much better off talking to the group (not just the DM) out of character about what play styles people want/expect, including how they feel about intra-party conflict.
Me, I don't enjoy serious intra-party conflict in D&D-type games. A bit of banter is fine, but having other PCs steal from mine or attack mine is not what I'm there for. (I love PvP in strategy games! I just don't want to mix it with RPGs.)
That's just my preference, mind. It's a common attitude but not everybody feels the same way; some people love intra-party conflict, and that's valid too. But if we're playing in the same group, then we need to figure out something that everybody can live with. Maybe I can deal with a PvP mindset if I know from the start that that's what I'm signing up for. Maybe they can enjoy a non-PvP game. Maybe we can agree on in-character argument but not violence.
Maybe we can't find a play style that everybody will enjoy, and then we're better off just splitting the group and not ruining friendships over it.
When those conversations don't happen, you get the sort of thing that just happened in your game. Everybody falls back on "well this is what my character would do" and since the average RPG party tends to have a diverse mix of characters who each have different values and motivations, the end result is a big ball of No Fun for at least some of the players.
IMHO, the best way to counteract this is to start with all players conscious that everybody is there to have fun, and that players are responsible for making things fun for one another. Where you have a difference in play style - as you obviously do here - that means talking it out, out of character.
Once you've agreed OOC on what sort of game you want to play, then you can look for in-character ways to make that happen - which will then be much easier because you're all collaborating towards the same goal, not working against one another.
Your buddy wants to play a cleric of Helm, and you want to play a warlock of B'alüst'radé The Bloodshedder? There are so many ways to make that work, if you and the DM and the other player all want it to work. A few examples...
The cleric's higher-ups have ordered him to leave the warlock alone - as long as the warlock behaves herself - because some ancient prophecy says this is the only way to defeat a greater evil.
The warlock reminds the cleric of his kid sister, and he's determined to redeem her by showing a good example, rather than just being a jerk or trying to murder her.
The warlock tricked the cleric into swearing an oath that prevents him from acting against her, as long as she behaves acceptably.
The warlock has deceived the cleric about her loyalties, and is masquerading as something more acceptable to his sensibilities.
etc. etc. Not only do those provide an excuse that allows the two of you to play nicely together - assuming that's what the players want to achieve - but they also offer plenty of juicy story hooks for the DM to exploit.