Я пытаюсь переписать историю, используя:
git filter-branch --tree-filter 'git ls-files -z "*.php" |xargs -0 perl -p -i -e "s#(PASSWORD1|PASSWORD2|PASSWORD3)#xXxXxXxXxXx#g"' -- --all
как описано в этом руководстве.
Однако строки пароля, которые у меня есть, содержат все виды символов, отличных от A-Z, например. $ ' и \ вместо того, чтобы быть красивыми простыми строками типа «PASSWORD1» в приведенном выше примере.
Может ли кто-нибудь объяснить, что мне нужно для экранирования? Я нигде не смог найти это, и я боролся с этим часами.