I think I agree with the consensus following a quick scan of comments. Branching is incredibly useful and a really good way to actually avoid conflicts (or rather manage them in a meaningful, insightful way).
If you work on a branch, to avoid what you describe, rebase is your friend. Accompany that with a good test process and good coverage, and I can't see anything going wrong (that wouldn't go wrong bigger without branching!)
I think I agree with the consensus following a quick scan of comments. Branching is incredibly useful and a really good way to actually avoid conflicts (or rather manage them in a meaningful, insightful way).
If you work on a branch, to avoid what you describe, rebase is your friend. Accompany that with a good test process and good coverage, and I can't see anything going wrong (that wouldn't go wrong bigger without branching!)
Read this for more about how my company does git, I don't think I could work any other way now: about.futurelearn.com/blog/telling...