Git merge afecta el directorio de trabajo y el área de preparación

Soy nuevo porGit y tratando de saber cómogit merge El comando funciona. Así que probé un proyecto simple de git, por ejemplo:

Tengo dos ramas:master yb. Puedes ver el registro de git para ambos aquí (1,2,4 son archivos de muestra que se crean en ramas):

* cf3456b (HEAD, b) add and modify 4 in b
* 68b9086 edit 1 in branch b
| * 81e6490 (master) remove 1 from branch b1
| * e0a6844 modify 2 in branch b1
| * 06bad1d add2 in branch b1
|/  
* c667d3b add 1 in branch master

Entonces
master solo tiene un archivo:2
b solo tiene dos archivos:1,4

Ahora cuando trato de hacer:

git merge master

Vi este mensaje:

CONFLICTO (modificar / eliminar): 1 eliminado en maestro y modificado en HEAD. Versión HEAD de 1 izquierda en árbol. La fusión automática falló; arregle conflictos y luego confirme el resultado.

Eso es extraño para mí, pensé antes de eso:

merge como uncheckout intenta copiar contenido de la última confirmación demerge in bifurcarse a la última confirmación demerge into rama pero frente acheckout, merge intenta no cambiar ningún archivo enmerge intoY finalmente si ambosmerge in ymerge into las ramas tienen el mismo archivo con un estado diferente, se produce un conflicto.Yo sé esogit solo guardasnapshot de archivos en lugar dedifferences. Entonces, ¿cómo saber acerca de los cambios en las últimas confirmaciones de sucursales? (En el mensaje puedes ver1 deleted in master and modified in HEAD cuales son las diferencias)

Ahora, si mi pensamiento fuera cierto, no debería ocurrir ningún conflicto para el archivo1. Entonces mi pensamiento no es cierto, pero ¿cómomerge funciona de verdad?

Respuestas a la pregunta(2)

Su respuesta a la pregunta