如何从Pull请求中删除用户提交的用户?

时间:2017-09-22 07:17:58

标签: git github

forked一个repo。已完成工作,然后提交了我的pull request。但是,存储库所有者需要commits to be squashed。在压缩提交时,我有很多merge conflicts。压缩所有提交后,现在我的PR显示"user B committed with user A",其中user Bother guyuser Ame。我如何删除 "user A commited with user B"?如何让PR只显示我的提交,而不是采取其他人并将其合并?我尝试了堆栈溢出的各种答案。这个Removing <user> committed with <user> on Github可能适用于本地提交。但我已经推动了一切。 请帮忙。

1 个答案:

答案 0 :(得分:3)

使用git filter-branch更改作者和提交者。

复制以下脚本并替换以下内容:

  • 012345:提交编号
  • 姓名:您的姓名(2次出现)
  • email@here.com:您的电子邮件(2次出现)
git filter-branch --env-filter \
'if test "$GIT_COMMIT" = "012345"; then
    export GIT_AUTHOR_NAME="Name Here"
    export GIT_COMMITTER_NAME="Name Here"
    export GIT_AUTHOR_EMAIL="email@here.com"
    export GIT_COMMITTER_EMAIL="email@here.com"
fi' && rm -fr "$(git rev-parse --git-dir)/refs/original/"

小心:它会重写历史记录,如果你已经按下了,你可能必须使用git push --force