我有一个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 status 命令会给我提供以下信息:
# On branch master
nothing to commit (working directory clean)
我错过了什么?有没有建议如何重命名所有提交而不丢失历史记录。
git reset --hard
命令来清理工作树。 - Eduardogit push --force
命令即可。 - Vi.