Que sont A, B et C dans kdiff merge
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 pour KDIFF ne m'aide pas à comprendre.
5 réponses
On dirait que vous faites une fusion à trois voies , 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).
Un fait référence à la version sur laquelle repose votre cible de fusion. Si vous fusionnez de la branche au tronc, ' A ' sera la version précédente du tronc.
B est-ce que vous avez actuellement dans votre dossier trunk, y compris les modifications locales.
C est la Version que vous voulez fusionner sur le dessus de B.
A est votre révision parente ayant B et C comme enfant .
Ce qui signifie que B contient les modifications effectuées sur Un par user1/repo1 et C contient également les changements, mais par d'autres utilisateurs (user2/repo2)
Kdiff vous donne la possibilité de sélectionner la modification de B ou c (ou prendre les deux) ou de parent aussi ' A '
Un (BASE) ‐‐> fichier D'origine qui se trouve actuellement dans le repo distant.
B (LOCAL) ‐‐> votre fichier. Cela montre uniquement vos modifications par rapport à A.
C (distant) ‐‐> leur fichier. 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 B ou C.
Si je l'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 que le rebase ne commence et que des conflits se produisent).
B-branch Je rebasais my_branch au - dessus de (disons branche principale par exemple)
Révision A-base de B & C (ce qui n'avait pas trop d'importance pour moi dans ce cas)