Git автора переименовать не работает - PullRequest
3 голосов
/ 22 февраля 2012

У меня есть репозиторий git, где я пока единственный коммиттер, и это уже было опубликовано на github. Я обнаружил, что некоторые коммиты, сделанные с другого компьютера, содержат неверную информацию об авторе. Моя идея состояла в том, чтобы удалить репозиторий из github, переписать историю и переиздать ее как новую. Для этой цели я создал простой скрипт:

git filter-branch --commit-filter '
            GIT_COMMITTER_NAME="Author Name";
            GIT_AUTHOR_NAME="Author Name";
            GIT_COMMITTER_EMAIL="email";
            GIT_AUTHOR_EMAIL="email";
            git commit-tree "$@";

    ' HEAD

, который должен переименовать все коммиты. Проблема в том, что git отвечает

Cannot rewrite branch(es) with a dirty working directory.

но git-статус предоставляет мне

# On branch master
nothing to commit (working directory clean)

Есть идеи о том, что мне не хватает? Будем благодарны за любые предложения о том, как переименовать все коммиты без потери истории.

1 Ответ

0 голосов
/ 09 марта 2012

Попробуйте удалить неотслеживаемые файлы в вашем рабочем каталоге, запустив git clean -dxf.

Также вам нужно будет экспортировать эти переменные в вашем коммит-фильтре. Если вы этого не сделаете, Git их не увидит, поэтому они не изменят поведение Git по умолчанию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...