Я пытаюсь переписать историю репо, используя:
git filter-branch -f --env-filter '
an="$GIT_AUTHOR_NAME"
am="$GIT_AUTHOR_EMAIL"
cn="$GIT_COMMITTER_NAME"
cm="$GIT_COMMITTER_EMAIL"
if [[ "$GIT_COMMITTER_EMAIL" = jacks* ]]
then
cn="Jack Slingerland"
cm="jacks@teamddm.com"
an="Jack Slingerland"
am="jacks@teamddm.com"
fi
if [[ "$GIT_AUTHOR_EMAIL" = jacks* ]]
then
cn="Jack Slingerland"
cm="jacks@teamddm.com"
an="Jack Slingerland"
am="jacks@teamddm.com"
fi
export GIT_AUTHOR_NAME="$an"
export GIT_AUTHOR_EMAIL="$am"
export GIT_COMMITTER_NAME="$cn"
export GIT_COMMITTER_EMAIL="$cm"'
-- --all
Команда работает нормально и переписывает автора, как указано. Проблема в том, что, похоже, пропущены некоторые записи в истории. Я думаю, что это происходит, когда изменения, сделанные в ветке, были объединены, но я не уверен.
Примечание. Это SVN-репозиторий, который был импортирован в Git с использованием Git + SVN.