Git - 重复提交问题

unr*_*ity 9 git

我不小心在我的存储库中通过"unknown"创建了提交,并决定尝试从这里运行命令:

git filter-branch --commit-filter '
        if [ "$GIT_COMMITTER_NAME" = "unknown" ];
        then
                GIT_COMMITTER_NAME="..";
                GIT_AUTHOR_NAME="..";
                GIT_COMMITTER_EMAIL="...";
                GIT_AUTHOR_EMAIL="...";
                git commit-tree "$@";
        else
                git commit-tree "$@";
        fi' HEAD
Run Code Online (Sandbox Code Playgroud)

起初我觉得一切都很好,直到我在gitk中注意到,在运行之前的每个提交都是重复的,而不是像我原先想的那样简单地编辑.

有可能清理它吗?

编辑:好的,gitk显示旧的提交(混合了"未知"的提交者)和新提交(重写的提交),在中途分开一定点.想想一堆提交,然后复制(和编辑),并堆叠在原始提交之上.我想要做的就是尽可能删除原来的.

unr*_*ity 7

答案是文件输入.git/refs/original,以及我发现的命令应该如何结束,HEAD而不是--tag-name-filter cat -- --all.

欢呼_Vi和来自#git渠道的仓鼠寻求帮助.