Git作者重命名不起作用

3

我有一个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 版本是什么?请参见 https://dev59.com/ZGw15IYBdhLWcg3wqNqM#9246622。 - VonC
2
尝试执行 git reset --hard 命令来清理工作树。 - Eduardo
似乎重置解决了问题。我已经在运行更新的git版本(1.7.2.5)。 - fluca1978
你还需要导出那些环境变量。 - knittl
你不需要在GitHub上删除并重新添加仓库,只需使用git push --force命令即可。 - Vi.
1个回答

0

尝试通过运行git clean -dxf来删除工作目录中未跟踪的文件。

此外,您需要在提交过滤器中导出这些变量。如果不这样做,Git 将无法看到它们,因此它们不会改变 Git 的默认行为。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接