You can then decide if line 11 without line 10 needs to have its syntax adjusted because line 10 is not there. Git merges (and cherry picks and rebases, which are variants of merging) will not assume what the correct answer is, based on just a line-by-line diff, and so it flags a conflict to ask you to provide your judgement. If this was actual code, I would not be willing to bet that line 11 made sense without line 10. You might think "Well, it's obvious, just add the new line at the end." But that's only obvious to a human and it's not always the correct answer. The cherry-picked commit says add a line "Including this changes" after a line "Don't include this change!", but Git is finding no such in LOCAL, and so it can't figure out where to add the line. Here we see that BASE and LOCAL have diverged: line 10 is in BASE but not in LOCAL. The bottom window is the current state of the file, and the one you can edit into the resolved conflict. To explain that view, the three top windows are LOCAL, BASE and REMOTE: LOCAL is what you're trying to cherry pick onto, BASE and before the commit you're cherry picking, and REMOTE is after, so the diff you're trying to apply to LOCAL is between BASE and REMOTE. Thanks for the Mergetool output, that confirms what I expected.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |