Je pense que pour répondre à votre question, nous devons d'abord voir pourquoi les conflits se produisent et quel est le véritable sens et le véritable processus de fusion?
Les conflits ne se produisent que lorsque deux développeurs ou plus travaillent sur le même fichier en même temps et qu'ils essaient tous les deux de s'enregistrer. Le premier développeur n'obtiendra aucun conflit, bien sûr. Mais le deuxième (troisième, quatrième, etc.) provoquerait des conflits. Pourquoi, parce qu'il a du code qui est partiellement ou entièrement différent du code existant sur le serveur.
Cela signifie que le deuxième développeur a quelque chose de différent du premier développeur. Cette différence peut varier du style, comme l'utilisation new UserManager().GetUserName()
au lieu du UserManager userManager = new UserManager(); userManager.GetUserName();
niveau que vous avez mentionné, ce qui signifie que les deux développeurs avaient des idées différentes sur la façon de refactoriser le code pour l'améliorer.
La fusion, d'autre part, ne signifie pas que les développeurs peuvent archiver leur code sans tenir compte des conflits. Ils doivent et doivent régler ces conflits. Si les conflits ne sont pas importants, ils peuvent archiver et remplacer le code précédent. Mais lorsqu'ils voient quelque chose de complètement différent, ils doivent appeler le développeur précédent et lui parler, afin qu'ils puissent tous les deux se coordonner pour trouver la meilleure solution.
Par exemple, si vous demandez à deux développeurs d' améliorer la bibliothèque de paiement en ligne et que leur travail se chevauche, cela signifie qu'au moins à certains endroits, il existe 2 solutions différentes. Donc, une de ces solutions doit être discutée et acceptée, donc enregistrée, comme la meilleure solution.
Je ne suis pas d'accord pour empêcher ces circonstances, car nous devrions avoir tendance à être plus réels que théoriques. Parfois, un gars est vraiment bon en CSS, tandis qu'un autre est vraiment bon en ASP.NET Markup. Mais leur travail peut entrer en conflit lorsqu'ils doivent tous deux travailler sur la page de connexion pour le faire fonctionner. Je veux dire, si nous pensons réel (pas idéal), nous pouvons voir que plusieurs fois ce phénomène (conflit) se produit.
Un autre point que je voulais juste mentionner, est d'utiliser des outils pour vous aider dans votre processus d'enregistrement. Ces outils visualisent généralement la différence entre le code serveur et le code développeur, et aident beaucoup à déterminer quelle partie doit être archivée.