DIRTY_INDEX при слиянии

Я извлек некоторые обновления из восходящего потока, объединил и получил следующее сообщение об ошибке:

FAILED: DIRTY_INDEX [filename]

После reset и другого слияния я получаю эту ошибку:

FAILED: DIRTY_WORKTREE [another-filename]

Все это загадочно для меня - что мне теперь делать?

Ответ 1

Как упоминается в разделе Fun с сохранением локальных изменений вокруг:

Linus часто выполняет патч-приложения и объединяется в грязное дерево работы с чистым индексом.

  • В дереве грязной работы есть изменения, которые не добавляются в индекс.
    Дерево работы, которое не является грязным, является чистым деревом.
  • Грязный индекс - это то, где вы уже добавили изменения (другими словами, "git diff --cached" сообщит о некоторых изменениях).
    Чистый индекс соответствует HEAD.

Каждый раз git status может отображать то, что вам нужно сделать, прежде чем сможет выполнить новое слияние.

git stash, например, может сохранить текущую текущую работу в вашем рабочем дереве, а git stash pop будет применять указанную работу после слияние выполнено.