Git удалить большие файлы и исправить файл пакета
Разработчик подумал, что было бы хорошей идеей поместить установочные файлы приложения в репозиторий GIT, предоставленный командой в TFS. Поэтому я пытаюсь удалить папку в репозитории GIT, которая называется "Установка на рабочую станцию", чтобы удалить все установочные файлы, а затем исправить пакетный файл размером около 1,6 ГБ.
Я пробовал BFG Repo-Cleaner и Git Extensions. Git Extensions, чтобы увидеть, если папка все еще там после выполнения шагов BFG.
Я действительно новичок в GIT, и эти 28 файлов были помещены в репозиторий около года назад, прежде чем я начал работать и обнаружил проблему.
Любая помощь или шаги, как это сделать.
Не знаю, как это сделать для BFG: по умолчанию ветка HEAD защищена, и хотя ее история будет очищена, самая последняя фиксация ('tip') - это защищенная фиксация, а ее файловая иерархия не будет быть изменены на всех.
1 ответ
Я не использовал Git Extensions (который, по-видимому, всего лишь инструмент с графическим интерфейсом для взаимодействия с Git) или TFS, но я собираюсь предположить, что у нас есть только Git-репозиторий, и мы не имеем дело с более сложной ситуацией где это зеркало какого-то репозитория TFVC, который также необходимо очистить.
Я действительно новичок в GIT, и эти 28 файлов были помещены в репозиторий около года назад, прежде чем я начал работать и обнаружил проблему.
Хорошие новости, это именно та проблема, для решения которой была создана BFG!
Любая помощь или шаги, как это сделать.
Документация для BFG Repo-Cleaner находится по адресу: https://rtyley.github.io/bfg-repo-cleaner/... вам определенно будет полезно, если вы потратите время на ее прочтение, особенно раздел " Использование " (который объясняет процедуру, ведущую к использованию BFG и последующую за ней), а также ваши текущие файлы являются священными... и раздел Примеры.
Я пробовал BFG Repo-Cleaner и Git Extensions. Git Extensions, чтобы увидеть, если папка все еще там после выполнения шагов BFG.
Какие аргументы командной строки вы использовали, когда пытались вызвать BFG, и какие ошибки или выходные данные он вам дал? Такая информация всегда полезна людям, которые пытаются вам помочь! Команда, которую я бы использовал в вашей ситуации, была бы:
$ bfg --delete-folders "Workstation Install"
Обратите внимание, что передача имен файлов с пробелами в приложения командной строки всегда немного неуловима, но заключение в двойные кавычки должно работать, как мне кажется, заключения названия папки (только имя папки, а не ее путь в репозитории).
Не знаю, как это сделать для BFG: по умолчанию ветка HEAD защищена, и хотя ее история будет очищена, самая последняя фиксация ('tip') - это защищенная фиксация, а ее файловая иерархия не будет быть изменены на всех.
Вы цитируете из раздела " Ваши текущие файлы являются священными... " в документации BFG там, так что я предполагаю, что вы прочитали это, но, к сожалению, это не было достаточно ясно?
Возможно, вам будет полезно прочитать этот ответ Stackru, альтернативное объяснение другого человека этой функции безопасности в BFG.
Чтобы попытаться объяснить это еще раз сам: вам не нужны эти файлы, верно? Таким образом, вы можете начать с нормального коммита, удалив их из главной ветки? На этом этапе вы можете проверить, что ваш проект по-прежнему работает без этих файлов (что довольно вероятно в вашем случае, но, возможно, не так для других проектов, выполняющих очистку - что если они удалят файл, который нарушает некоторые тесты?),
Тогда вы готовы к гораздо более радикальному шагу переписывания всей истории Git - вы можете запустить BFG, и вам нужно только решить проблемы с разделением этой обновленной истории - вам не нужно решать проблему внезапно ломая ваш проект, удаляя эти файлы, потому что вы уже забрали (и исправили) эту проблему заранее.
Почему эта функция безопасности в BFG?
Как автор BFG, я не хотел задавать вопросы по поддержке пользователей, которые случайно нарушили сборку своего проекта, запустив BFG, - лучше, чтобы пользователи ломали и исправляли свои проекты, прежде чем приступить к работе с BFG! Таким образом, BFG не удаляет файлы, присутствующие в последнем коммите - вам нужно вручную убедиться, что текущая версия вашего файлового дерева очищена от этих нежелательных файлов.
Полное раскрытие: я являюсь автором BFG Repo-Cleaner.