We use GIT in a team of tech writers. We do a few things...
- Division of Labor: Different members own different parts of the doc set. This minimizes cross-talk. But note, it does not ELIMINATE it.
- Communication: To address cross-talk (multiple people making different changes for different reasons on the same file at the same time), we communicate. We keep track of who is working on what sections of a book, and we ASK before blithely jumping into a file.
- Push Feature Branches: If you're going to be working on a feature branch for any amount of time, push it out so everybody else can see it. Then, if cross-talk must arise, we can talk in the same feature branch. We still have a sense of the owner or master of that branch, and that person will ultimately merge it into develop.
- Pull from develop daily, if not more often. Come on... This is standard GIT practice.
With these practices, we usually live conflict-free. We have seen conflicts in map files and in data files that hold conref sources. But these are usually so discrete the conflicts are rare, and if they do arise, they are easy to resolve.
I'll point out that we do docs as code, in that we deliver our source as part of the product. That means we not only have to merge into the product repository, but we have to cherry-pick into different branches of the product repository. So far so good!
Hope this helps!