开发者

What are A, B, and C in KDIFF merge

Why am I given three choices when merging between my code and someone else's? Shouldn't there just be my code, the other person's code, and the output below? The documentation for KD开发者_高级运维IFF doesn't help me understand.


A refers to the version your merge target is based on. If you Merge from branch to trunk, 'A' will be the previous trunk version.

B is what you currently have in your local trunk folder, including local changes.

C is the Version you wanna merge on top of B.


Sounds like you're doing a three-way merge, so A should be the base revision that B and C are based on, B is theirs and C is yours (I believe; B and C might be the opposite, though).


A (BASE) ‐‐> Original file that currently sits in remote repo.
B (LOCAL) ‐‐> Your file. This shows only your changes as compared to A.
C (REMOTE) ‐‐> Their file. This shows only their changes as compared to A.

If the changes are on different code lines, you take from both B and C. If the changes are on same code lines (conflict), you take either from B or C.


A is your parent revision having B and C as child.
Which means B contains the changes done on A by user1/repo1 and C also contains the changes on A but by other user (user2/repo2)

kdiff gives you the option either to select modification from b or c (or take both) or from parent also 'A'


If I did git rebase, my observation was that: C - is what in my_branch locally ( i.e. was seen in my editor before the rebase started and conflicts occurred). B - branch I was rebasing my_branch on top of (say master branch for example) A - base revision of B & C (which didn't matter to me too much in this case)

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜