我有一个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)
关于我错过了什么的任何想法?任何有关如何重命名所有提交而不丢失历史记录的建议将不胜感激。
答案 0 :(得分:0)
尝试通过运行git clean -dxf
删除工作目录中未跟踪的文件。
此外,您还需要在提交过滤器中导出这些变量。如果你不这样做,Git将不会看到它们,因此它们不会改变Git的默认行为。