Whose last name should the baby have?

I've been with my boyfriend for 4 years. We were always on and off. We'd break up and start new relationships but always come back to each other. He cheated on me with three girls when we were in high school but regretted it and has been faithful since. I'm 20 and he's 21 now. We don't live together or anything. I live with my dad. Everyone in my family wants me to give the baby my last name and they'll be really mad if I don't. At the same time, if I don't give it my bf's last name, it'll really hurt him. What do you guys think?!