Не удалось, DIRTY_WORKTREE в eclipse, как его решить?

В настоящее время я работаю над проектом java, и, совершая мои изменения и потянув, я получаю следующую ошибку. Я не знаю, как его решить:

Dirty worktree, eclipse

Я пробовал все, но не могу решить проблему, может кто-то мне помочь?

Чтобы быть ясным, я использую eclipse.

Ответ 1

Удалите затронутые файлы и попытайтесь снова вытащить их. Затем нажмите ваши изменения в git.

Ответ 2

Я получил ту же ошибку, пытаясь объединить код. Удалите соответствующий файл в любой из ветвей для объединения DIRTY_WORKTREE FAILED

Ответ 3

Вы можете использовать приведенную ниже команду для удаления не версионных файлов

git clean -df

Ответ 4

Предполагая, что вы работаете в локальном ветки, который разветвлен от удаленной ветки, и конфликт слияния происходит после того, как вы совершили и нажали "вверх по течению", объединитесь с удаленной ветвью.

Попробуйте эти три шага:

  1. Скопируйте новые изменения из определенного файла, вызвав проблему слияния.
  2. В области Eclipse, Explorer, rt-клик по конкретному файлу, вызывающему проблему слияния, и выберите замену предыдущей ревизией.
  3. Теперь выполните "фиксацию и нажатие",
  4. Выполните слияние с удаленной ветвью (никаких конфликтов не должно наблюдаться).
  5. В Eclipse снова нажмите rt файл на конкретный файл и выберите "pull" - файл должен теперь синхронизироваться полностью.
  6. Теперь добавьте новые изменения, сохраните, зафиксируйте и нажмите и слейте их в удаленную ветвь (не должны наблюдаться конфликты).

Ответ 5

В моем случае DIRTY_WORKTREE был вызван этой последовательностью:

  1. В фиксации я также передал некоторые файлы, которые я должен был проигнорировать
  2. В следующем коммите я модифицировал.gitignore, который игнорирует вышеуказанные файлы
  3. Попробуйте переустановить поверх другой ветки, где отсутствует мое изменение.gitignore

В этом случае Eclipse считает, что ваше рабочее дерево грязно. В самом деле, нет очевидного сравнения двух наборов файлов, когда один из двух игнорирует некоторые файлы, а другой - нет.

Чтобы решить проблему в Eclipse, я сделал следующее:

  • Измените.gitignore, чтобы он был таким же, как тот, который был в ветке, я хочу переустановить
  • К счастью, начните перезагрузку или перезагрузку слиянием.

Ответ 6

В моем случае у меня были незафиксированные изменения.

Я зафиксировал свои изменения и смог успешно объединиться без ошибки dirty_worktree.

Ответ 7

Так... еще один вариант, который работал для меня и моей DIRTY_WORKTREE... Спрячьте ваши изменения, а затем потяните.

Это решение означало, что я НЕ потерял некоторые локальные полезные изменения в журнале от простого удаления файла-нарушителя.

Ответ 8

У меня была такая же ошибка как:

DIRTY_WORKTREE pom.xml

Поэтому я удалил файл pom.xml из моего рабочего каталога и выполнил извлечение из определенной ветки.

Это сработало для меня.

Ответ 9

Я решил эту ошибку, выбрав "Предположить, что нет изменений" для файла, который мне не удалось удалить.
STS, в панели инструментов. Показать View-> Git Staging-> Unstaged Changes.
ИЛИ
Щелкните правой кнопкой мыши на file-> Команда → Advanced-> Предположим, что без изменений

Git Staging View