SQUASH???

seen
Junio C Hamano 2026-10-12 11:37:46 -07:00
parent 71b0f996a4
commit 657abaf64c
1 changed files with 20 additions and 10 deletions

View File

@ -60,8 +60,9 @@ MERGE CONFLICT MARKERS
When there's a merge conflict, Git will update the conflicted file
to include merge conflict markers `<<<<<<<`, `=======`, and `>>>>>>>`.
For example, here's a merge conflict where both sides edited a list of
fruits in different ways -- one side added "cherry" and the other side
added "banana":
fruits in different ways, and ended up in different states. One side
has "banana" but not "cherry", and the other side has "cherry", but
not "banana".

----
FRUITS = [
@ -76,8 +77,8 @@ FRUITS = [
]
----

The code from one side of the merge conflict is between `<<<<<<<` and
`=======`, and the code for the other side is between `=======` and
The lines from one side of the merge conflict are between `<<<<<<<` and
`=======`, and the lines from the other side are between `=======` and
`>>>>>>>`. See <<ours,"OURS" AND "THEIRS">> below for a full explanation
of which side is which.

@ -121,8 +122,8 @@ FRUITS = [
]
----

Then you might edit that part of the code like this,
which includes the fruits from both sides of the conflict:
Then you might edit that part of the code like this, to take
all the fruits from both sides of the conflict:

----
FRUITS = [
@ -208,15 +209,15 @@ DIFF3
By default, Git doesn't include the original code when formatting
a merge conflict. To include the original code, you can set the
configuration option `merge.conflictstyle` to `diff3`.
This extra context can make it much easier to understand what's
happening in a merge conflict.
This extra context can make it easier to understand what's
happening in a merge conflict and avoid mismerges.

Here's an example of what a merge conflict would look like when using
`diff3`. There's an extra section (between `|||||||` and `=======`)
with the original code.

With this view, you can see that both sides fixed a spelling
mistake in "mango", and each added one fruit to the list.
mistake in "mango", and each removed one fruit from the list.

----
FRUITS = [
@ -225,15 +226,24 @@ FRUITS = [
"cherry",
"mango",
||||||| 1c22e48
"banana",
"cherry",
"mangoooo",
=======
"banana",
"mango",
>>>>>>> add-fruit
"orange",
]
----

In the default format, you would see this conflict as shown before,
i.e., "one side has 'banana', the other side has 'cherry', everything
else is the same". But presented this way, we would realize that the
conflict resolution to keep "banana" and "cherry" we showed earlier
was incorrect. Rather, we want to drop "banana", and "cherry" and
keep the "mango" with corrected spellings. The `diff3` format is more
unambiguous by being more verbose.

[NOTE]
================================
`zdiff3` is an alternative to `diff3` that makes the merge conflict