【问题标题】:Remove commits by email?通过电子邮件删除提交?
【发布时间】:2014-10-06 14:15:37
【问题描述】:

我想删除某个电子邮件的所有以前的 git 提交,因为我使用不正确的电子邮件进行了提交并已更正它,但现在我有所有重复的提交,一个带有正确的电子邮件,一个带有不正确的电子邮件。 (root@jtp) 我试过了:

git filter-branch --commit-filter '
    if [ "$GIT_AUTHOR_EMAIL" = "root@jtp" ];
    then
            skip_commit "$@";
    else
            git commit-tree "$@";
    fi' HEAD

并得到这个作为回报:

致命:模棱两可的参数“--commit-filter” 未知版本或路径不在工作树中。使用 '--' 将路径与修订分开

【问题讨论】:

    标签: git github


    【解决方案1】:

    您说您输入了git filter-branch --commit-filter ...,然后输入了git filter-branch -f \ --commit-filter。它是哪一个?虽然第一个可能会起作用,但那个虚假的反斜杠 \ 肯定会把事情搞砸。尝试删除它。

    【讨论】:

    • 试过了,现在我得到了 "filename:needs merge" 的一切
    • 看看你收到的消息:ambiguous argument ' --commit-filter'。你看到--前面的空格了吗?这是因为你的反斜杠。由于先前的命令,您的存储库处于奇怪的状态,重置它并再次运行(不带反斜杠)。
    猜你喜欢
    • 1970-01-01
    • 2020-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多