Ответ 1
Это зависит от используемой оболочки.
В Windows, например, с msysgit, см. проблема 477:
Одиночные кавычки не имеют особого значения с CMD. Не ожидайте, что они так же, как с оболочкой POSIX. Вызовите фильтр-ветвь следующим образом:
git filter-branch --commit-filter "GIT_COMMITTER_NAME=void GIT_AUTHOR_NAME=void [email protected] [email protected]; git commit-tree \"[email protected]\"" HEAD
Несколько строк:
git filter-branch --commit-filter "GIT_COMMITTER_NAME=void \
GIT_AUTHOR_NAME=void \
[email protected] \
[email protected]; \
git commit-tree \"[email protected]\"" HEAD
Как указано в "Как передать программно сгенерированный список файлов на git filter-branch
?"
Каждый аргумент для различных
...-filters
должен быть одной строкой. Эта строка сохраняется как переменная оболочки.
Поэтому убедитесь, что 'git rm --cached --ignore-unmatch filename.js'
считается строкой в оболочке, в которой вы находитесь.