Можно ли восстановить после передачи папки .metadata IDE на основе затмения в git? - PullRequest
0 голосов
/ 09 января 2020

Я использую IDE ST для микроконтроллеров STM32, STM32Cube. Он основан на затмении, только с дополнительными дополнениями для работы с микроконтроллерами. Я сделал явно фатальную ошибку, не добавив папку .metadata в gitignore сразу после создания репозитория. Это работало нормально, пока я не попытался вернуться к предыдущей фиксации, после чего я получил множество случайных конфликтов слияния как текстовых, так и двоичных файлов, в основном в папке .metadata. Я попытался удалить .metadata папку из репозитория, но git упорно отказывается игнорировать его, несмотря на использование методов описания этих ответов:

1002 *{ ссылка }
1007 *{ ссылка }
{ ссылка } (для разрешения предполагаемых конфликтов слияния)

Что касается конфликтов слияния, они не имеют никакого смысла поскольку я являюсь единственным участником репозитория, невозможно зафиксировать две разные версии файла. Git теперь вставил во все мои файлы кучу конфликтующих слияний (большинство из которых даже не имеет двух разделов, только голова и хвост без делителя), и STCube отказывается запускаться из-за этого. Есть ли какой-нибудь способ восстановиться после этого, или мне просто нужно попытаться спасти мой код и запустить новый репозиторий?

1 Ответ

0 голосов
/ 09 января 2020

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

git reset --hard commit-before-revert

и затем следовать инструкциям, с которыми вы связались:

Шаг 1. Добавьте путь к папке root .gitignore вашего репо.

path_to_your_folder /

Шаг 2. Удалите папку из локального отслеживания git, но сохраните его на своем диск.

git rm -r - кэшированный путь_в__каталоге_ / _ 1013 *

Шаг 3. Pu sh ваши изменения в git репо.

На данный момент откат должен быть безопасным, поскольку git теперь будет игнорировать папку .metadata.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...