Ошибка: невозможно получить доступ к jarfile bfg.jar - BFG

Поэтому я ошибочно совершил свои секреты. В предыдущих коммитах (yikes !!), и я хочу очистить свою историю от git. Похоже, что самым простым способом для голодания является использование BFG. Я загрузил файл jar и установил Java, и я создал зеркало своего репо, но когда я запускаю команду в соответствии с документами:

java -jar bfg.jar --delete-files secrets.yml my-repo.git

Я получаю сообщение об ошибке Unable to access jarfile bfg.jar

Документы довольно хороши, но не указывают, есть ли что-то, что я должен был сделать, чтобы установить это или запустить его или связать с моим зеркальным репо, и я очень смущен. Я смотрел учебник по youtube, в котором говорится, что я должен создать символическую ссылку, используя такую команду;

ln -s ~/bfg-1.11.6.jar/usr/local/bin/bfg

для запуска bfg, за исключением того, что я не уверен, что вторая часть этой команды ссылается на (/usr/local/bin/bfg) или где она должна указывать в моем случае, поскольку это не работает для меня как есть. У меня есть файл jar, сохраненный в моем корневом каталоге пользователя. Мне нужно переместить его? Как запустить BFG в моем зеркальном репо, и должен ли я быть в моем зеркальном приложении, когда запускаю его? Или я запускаю его извне приложения?

Ответ 1

Из документации это должно быть:

java -jar bfg.jar <options> yourrepo

Попробуйте использовать полный путь к банке, если у вас есть ошибка типа " Unable to access jarfile bfg.jar ": /home/user/path/to/bfg.jar.

Если jars сконфигурированы для запуска с java, то /usr/local/bin/bfg будет /usr/local/bin/bfg символической ссылки, ссылающейся на правую bfg-jar.

Альтернатива описана в разделе " Удаление конфиденциальных данных "

git filter-branch --force --index-filter \
'git rm --cached --ignore-unmatch Rakefile' \
--prune-empty --tag-name-filter cat -- --all

Или (обновление ноября 2017 года), как прокомментировал ДжеремиДугласс,

Если вы загружаете последнюю версию (например, с 1.12.16, bfg-1.12.6.jar), и вы хотите использовать стандартные команды только в локальном промежуточном каталоге (без пути, без символической ссылки), тогда вы можете просто переименовать банку:

mv bfg-1.12.16.jar bfg.jar 
java -jar bfg.jar --delete-files bad.txt repo.git