In case of IaC, a conflict happens when several engineers work in the same set of files or resources at the same time. The best thing is the use of some robust version control system, like Git, coupled with branching and modularization. Here's how that might be done:
Branching Strategy: Apply a feature-branching strategy, so engineers may work isolated in their own branches. The merging of these branches to a common branch along with conflict resolution early might reduce the chances of big, hard-to-merge conflicts.
Modularization: By using Terraform tools, break the infrastructures into smaller modules that can be worked upon independently. Thus, the changes in specific modules are strictly controlled and less prone to collision with other modules.
Automation for Tests and Code Review: Ensure that each IaC pull request contains tests along with code review flows. Automated tests, though highly useful in syntax policy adherence, can identify those coding errors that may possibly destroy the infrastructure.
Communication and Documentation: Transparence in communication with good documentation avoids duplication of the same updates to resources. Both these strategies together do not create any inconsistency or clash in the IaC repository.