If you happen to have a copy of The Purpose Driven Life, day 18 has an excellent example of what I am talking about. We are not to hold grudges nor retaliate -
Forbearing one another, and forgiving one another, if any man have a quarrel
against any: even as Christ forgave you, so also [do] ye. Col 3:13
And we will never be asked to forgive anyone of more than God has forgiven us. It is our choice to forgive and have a resolution to the problem.
Where many people have a problem is that they get forgiveness and trust confused. I love the way Rick Warren explains the difference. Forgiveness is letting go of the past while trust has to do with future behavior. While forgiveness must be immediate, trust must be rebuilt over time. No one has permission to hurt you over and over. Either they will prove they have changed and the trust will be rebuilt, or they will continue to hurt you and though you forgive them, without the trust you will eventually lose their fellowship. So while we are commanded to forgive - even when no apology is ever offered, we are not commanded to remain in fellowship with those that continually hurt us. Being a Christian doesn't mean being a doormat.
There are people in my life who I have chosen to forgive, who have questioned my forgiveness. Just because I don't allow them to be as close as they once were does not mean I haven't forgiven them. It means that they have not rebuilt that trust yet, so I approach them with a guarded heart. While forgiveness has to be freely given, trust has to be earned.