Сам я им не пользовался, но BFG Repo-Cleaner с открытым исходным кодом выглядит так: это может удовлетворить ваши требования простоты, сохраняя при этом диаграмму активности для просмотра рецензентами. Это можно сделать в общедоступной копии репозитория, если вы хотите сохранить свою личную рабочую копию, сохраняя при этом возможность просмотра истории активности.
Следуя инструкциям по использованию инструмента, вы сможете сделать следующее (при условии, вы хотите, чтобы эти изменения были в новой копии репо):
Первый шаг — продублировать репозиторий на GitHub, следуя инструкции в документации GitHub.
Для этого сначала создать новый репозиторий.
Затем зеркалируйте репозиторий, следуя инструкциям GitHub:
- Откройте Терминал.
- Создайте голый клон репозитория.
$ git clone --bare https://github.com/exampleuser/old-repository.git
- Зеркальная отправка в новый репозиторий.
$ cd old-repository.git
$ git push --mirror https://github.com/exampleuser/new-repository.git
- Удалите созданный ранее временный локальный репозиторий.
$ cd ..
$ rm -rf old-repository.git
Теперь, когда у вас есть дубликат репозитория, вы можете запустить BFG Repo-Cleaner, чтобы заменить все экземпляры текста, которые вы хотите скрыть, на ***REMOVED***
.
$ java -jar bfg.jar --replace-text replacements.txt my-repo.git
Файл replacements.txt
будет содержать SMTP, MongoDB URI и любой другой текст, который вы хотите скрыть.
mongodb://my-username:[email protected]:27017,host2.example.com:27017/my-database
[email protected]
Обратите внимание, что это не обновляет последнюю фиксацию в ветке master
/HEAD
, поэтому ее нужно будет изменить вручную, а затем зафиксировать. Этого можно добиться либо с помощью окончательной фиксации с параметром --amend
, либо путем создания новой фиксации перед запуском BFG Repo-Cleaner с измененными вручную файлами.
$ git commit --amend
Теперь, когда изменения внесены, их можно отправить на GitHub.
$ git push
person
M. Justin
schedule
14.11.2020