Rechercher si ma twig est en conflit avec une twig distante

Notre entreprise travaille avec une approche par succursale. Ainsi, chaque développeur crée une nouvelle twig, hacks et pousse à partager-repo sur le server. Le hook post-réception du server reposera la requête pull!

Avant de permettre à l'user de pousser sur le server, je veux vérifier si sa twig est en conflit avec n'importe quelle twig non fusionnée avec le server!

Actuellement, j'ai donné une command en conserve avec toutes les twigs pull-request du server et rebase la twig des développeurs contre chacun des em et trouve si cela donne un conflit!

Problème:
1. Le process de rebasing / fusion avec chaque twig prend des âges
2. Il continue à changer continuellement l'tree de travail

Est-ce que je le fais mal ou est-il une autre approche pour find si la twig des développeurs sera en conflit avec n'importe quelle twig de request de traction sur le server!

Solutions Collecting From Web of "Rechercher si ma twig est en conflit avec une twig distante"

Avant de permettre à l'user de pousser sur le server, je veux vérifier si sa twig est en conflit avec n'importe quelle twig non fusionnée avec le server!

À mon avis, c'est une stratégie très incorrecte. Vous devez réaliser que les conflits sont une partie normale de git, qu'il n'y a rien de profane à leur sujet, et que peu importe combien vous essayez de les éviter, ils se produiront une fois ou l'autre.

Par exemple, s'il y a deux fonctionnalités, qui modifient un file sur le même numéro de ligne avec différentes lignes de code, git finira par provoquer un conflit – vous ne pouvez pas éviter cela.

Maintenant, parce que vous aurez ce script de vérification de conflit , vous ne serez jamais capable de pousser la seconde twig à less que la première ne soit fusionnée. Une perte de time absolue et la productivité des développeurs.

En outre, vous oubliez que les développeurs peuvent pousser leurs twigs même si la twig n'est pas prête à merge, vous en seriez incapable aussi. Si deux ou plusieurs développeurs collaborent, ils ne pourraient pas simplement être incapables de pousser parce que leur twig est en conflit avec une autre twig.

Dans le cas où vous avez une équipe de développeurs suffisamment grande (disons 10), avec un nombre de twigs suffisamment grand (disons 100), vous allez finir par comparer avec 100 twigs, à chaque poussée de chaque dev. Imaginez 10 développeurs qui ne poussent que deux fois par jour, et vous êtes déjà sur 2000 points de conflits possibles entre différents sets de développeurs. Les gens pourraient facilement passer plus de time à résoudre les conflits prématurément, puis à les transformer.


Alors, comment le faire d'une manière saneful?

Fondamentalement, n'essayez pas d'éviter prématurément les conflits futurs.

Faites reference à l'une des twigs – vérifiez uniquement par rapport à la twig principale et assurez-vous qu'il n'y a absolument aucun conflit avec cette twig au moment de la fusion.

Chaque fois qu'une fusion doit être effectuée, vérifiez qu'il n'y a pas de conflit avec le maître et ne fusionnez que lorsqu'il n'y a pas de conflit. S'il y a un conflit, requestz au propriétaire de la request / twig de récupérer le maître mis à jour, de rebaser sa twig, de résoudre les conflits et de repousser à nouveau.