Может кто-нибудь объяснить, как работает местная история Eclipse?
Я случайно перезаписал файл в проекте, но мне нужно вернуться к более ранней версии. Есть ли вероятность, что Eclipse где-то кэширует старый файл?
Может кто-нибудь объяснить, как работает местная история Eclipse?
Я случайно перезаписал файл в проекте, но мне нужно вернуться к более ранней версии. Есть ли вероятность, что Eclipse где-то кэширует старый файл?
Чтобы завершить ответ CurtainDog: из Часто задаваемые вопросы по eclipse
Каждый раз, когда вы изменяете файл в Eclipse, копия старого содержимого сохраняется в локальной истории. В любой момент вы можете сравнить или заменить файл любой более старой версией из истории.
Хотя это не замена реальному хранилищу кода, оно может помочь вам, когда вы случайно измените или удалите файл.
Локальная история также имеет преимущество, для которого она на самом деле не была предназначена: история также может помочь вам, когда в вашей рабочей области возникнет катастрофическая проблема или если вы столкнетесь с ошибками диска, которые повредят ваши файлы рабочей области.
В крайнем случае, вы можете вручную просмотреть папку локальной истории, чтобы найти копии потерянных файлов, что немного похоже на использование кеша Google для просмотра веб-страниц, которые больше не существуют.Каждая ревизия файла хранится в отдельном файле со случайным именем внутри папки истории. Путь к папке истории внутри вашего рабочего пространства:
.metadata/.plugins/org.eclipse.core.resources/.history/
Вы можете использовать инструмент поиска вашей операционной системы, чтобы найти файлы, которые вы ищете.
Обратите внимание: если вам нужно импортировать локальную историю в новую рабочую область, вам понадобятся оба:
иметь функциональную локальную историю в этой новой рабочей области.
Попробуйте щелкнуть правой кнопкой мыши файл в eclipse и выбрать «Заменить на» -> «Локальная история».
Если есть доступная история, она будет отображаться в виде списка времени редактирования.
Но что еще более важно, как указано в других ответах, обязательно поместите свои файлы в систему контроля версий! SVN довольно легко настроить (вам не нужен сервер, он может просто использовать файловую систему); используйте его, даже если вы не делитесь с другими.
Совет: всякий раз, когда вы слышите, как говорите «да!», проверяйте весь свой код. Через 10 минут вы спросите: «Как я все испортил?»
Если вы потеряли полную структуру пакета из-за случайного удаления или переопределения svn/cvs, выберите проект> щелкните правой кнопкой мыши> Восстановить из локальной истории => выберите файлы.
В ответе VonC есть вся информация, необходимая для поиска местоположения резервных копий вашего кода. Я бы просто добавил, что если вы работаете на Mac или Linux, вы можете сделать что-то вроде этого:
$ cd [WORKSPACE]/.metadata/.plugins/org.eclipse.core.resources/.history/
$ grep -rl "class Foo" . | xargs ls -lt
Это найдет все версии файла, содержащие определенную строку (например, «класс Foo»), и отсортирует их по дате/времени, чтобы легко найти самую последнюю версию.
Вы можете воспользоваться очень полезной ссылкой http://wiki.eclipse.org/FAQ_Where_is_the_workspace_local_history_stored%3F.
Откройте представление CVS, и вы должны увидеть фильтр локальной истории. Затем вы сможете щелкнуть правой кнопкой мыши нужную версию и получить содержимое или выполнить сравнение и объединение вручную. Я не уверен, что затмение по умолчанию используется для сохранения локальной истории, но есть неплохая вероятность, что вы сможете вернуть свои вещи, если будете действовать быстро.