Advice

I have been in an on and off relationship with my boyfriend for 4 years now and he has never laid a hand on me before... he is in the military and he has a civilian job also and recently he has been very stressed out and he has been treated poorly by both jobs and his family... his father abused his mother when he was younger, and his mother recently told me that it all started with him shoving her... in the past month including recently my boyfriend has started shoving me and squeezing my hair very hard during our fights... we have talked about it and he realizes that he hurts me and he doesn’t mean to... so i don’t know what I should do.. any advice?