This is a bug in Eclipse, что не будет исправлена, к сожалению (это с 2002 года).
Что происходит: Eclipse имеет объект для отслеживания файлов в рабочей области. Они определили обычные операции, такие как создание и удаление. Итак, что происходит, так это то, что вы строите свой проект.
Это инициирует построитель EMFText. Он удалит файлы, которые будут запускать «git rm», поскольку Eclipse не может отличить «генератор кода, который удаляет файлы для их создания снова», и «пользователь удалил файл навсегда».
Затем файл создается снова. У Eclipse нет хорошего способа упасть, хотите ли вы удалить это в своей истории фиксации или было ли это непреднамеренно. Таким образом, файл остается в удаленном состоянии.
MercurialEclipse и все другие плагины управления версиями на Eclipse также затронуты.
Обходные:
Создать скрипт, который просто добавляет все файлы, которые существуют, но находятся в состоянии «удалить».
Настройте генератор кода, чтобы не удалять файлы во время «Очистить». Xtext может это сделать.
Git не может совершать то, что не имеет изменения в содержании. Кто-то еще удаляет эти файлы из хранилища? Возможно ли, что это связано с проблемой окончания строк для Linux и Windows? –
Почему эти файлы удалены? Вы действительно хотите, чтобы эти файлы находились под контролем версий? Почему вы фиксируете удаление этих файлов? (Если вы не совершаете удаление, git даже не заметит, что они пропали между ними.) – michas
Спасибо! EGit автоматически (без фиксации) удаляет эти файлы из репозитория! Файлы генерируются EMFText. Фактически каждый, у кого установлен EMFText, может восстановить их. Но у некоторых peolpe нет EMFText. – Denis