Pourquoi ai-je trois choix lors de la fusion entre mon code et celui de quelqu'un d'autre? Ne devrait-il pas y avoir juste mon code, le code de l'autre personne et la sortie ci-dessous? La documentation de KDIFF ne m'aide pas à comprendre.
On dirait que vous faites un fusion à trois , donc A devrait être la révision de base sur laquelle B et C sont basés, B est le leur et C est le vôtre (je crois; B et C pourraient être le contraire, cependant).
A fait référence à la version sur laquelle votre cible de fusion est basée. Si vous fusionnez de branche en tronc, 'A' sera la version précédente de tronc.
B est ce que vous avez actuellement dans votre dossier de tronc local, y compris les modifications locales.
C est la version que vous souhaitez fusionner au-dessus de B.
A est votre révision parent ayant B et C comme enfant.
Ce qui signifie que B contient les modifications effectuées sur A par ser1/repo1 et C contient également les modifications sur A mais par un autre utilisateur (ser2/repo2)
kdiff vous donne la possibilité de sélectionner la modification à partir de b ou c (ou prendre les deux) ou du parent également "A"
Un (BASE) ‐‐> Fichier d'origine qui se trouve actuellement dans le dépôt à distance.
B (LOCAL) ‐‐> Votre dossier. Cela montre uniquement vos modifications par rapport à A.
C (REMOTE) ‐‐> Leur dossier. Cela montre seulement leurs changements par rapport à A.
Si les modifications sont sur des lignes de code différentes, vous prenez à la fois B et C. Si les modifications sont sur les mêmes lignes de code (conflit), vous prenez à partir de B ou C.
Si j'ai fait git rebase
, mon observation était que: C - est ce que dans my_branch localement (c'est-à-dire a été vu dans mon éditeur avant le rebase a commencé et les conflits se sont produits). B - branche que je rebasais my_branch au-dessus (disons branche principale par exemple) A - révision de base de B & C (qui ne m'importait pas trop dans ce cas)