Git 如何从拉取请求中删除与用户提交的用户?
IGit 如何从拉取请求中删除与用户提交的用户?,git,github,Git,Github,Iforkedarepo。处理它,然后提交我的拉取请求。但是,存储库所有者希望压缩提交。挤压提交时,我遇到了许多合并冲突。挤压所有提交后,现在我的PR显示“用户B与用户A提交”,其中用户B是其他人,用户A是我。如何删除“用户A与用户B提交的”?我如何才能让公关只展示我的承诺,而不是将其他人的承诺结合起来?我尝试了堆栈溢出的各种答案。这可能适用于本地提交。但我已经推动了一切。 请提供帮助。使用git filter branch更改作者和提交人 复制以下脚本并替换以下脚本: 012345:提交编号
forked
arepo
。处理它,然后提交我的拉取请求
。但是,存储库所有者希望压缩提交。挤压提交时,我遇到了许多合并冲突
。挤压所有提交后,现在我的PR显示“用户B与用户A提交”
,其中用户B
是其他人
,用户A
是我
。如何删除“用户A与用户B提交的”
?我如何才能让公关只展示我的承诺,而不是将其他人的承诺结合起来?我尝试了堆栈溢出的各种答案。这可能适用于本地提交。但我已经推动了一切。
请提供帮助。使用git filter branch
更改作者和提交人
复制以下脚本并替换以下脚本:
- 012345:提交编号
- 此处的姓名:您的姓名(出现2次)
- email@here.com:您的电子邮件(2次)
小心:它会重写历史记录,如果你已经按下了,你可能必须使用git push--force
。当你说user B committed with user a
时,你是否引用了提交消息?@TimBiegeleisen是,提交消息。我删除了我的答案并对此进行了投票,因为我不相信git commit--amend
有能力更改提交者。我想我们需要菲特勒分公司来做这件事。
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/"