Запись изменения типа означает, что то, что было a файлом , теперь является символами c ссылкой или наоборот. 1
Нет строк для добавления или удаления. Git должен полностью удалить старый файл или символическую ссылку - какой бы она ни была - и полностью установить новую символическую ссылку или файл. Причина, по которой git log -p
или git show
показывает это как «удалить одно имя, добавить новую сущность с тем же именем», заключается в том, что на самом деле требуется два шага ... но эти два шага представляют собой одно изменение при сравнении старого (a/
) коммита с новым (b/
) коммитом.
Если вы просто пытаетесь сопоставить поля, просто помните, что все изменения T
-статуса достигаются двумя отдельными операции: удалить старую, добавить новую.
1 Она также может представлять изменение файла в gitlink, или наоборот, или из symlink в gitlink, или наоборот , Я думаю, что это охватывает все возможности, поскольку не-дерево, превращающееся в дерево, или наоборот, всегда представлено добавлением / удалением файлов, которые вызывают существование дерева. Если Git может хранить пустые объекты дерева, Git может захотеть режим T
для пустого каталога в файл или наоборот.