在单独的 GitHub 仓库中切换修改提交者的相关信息,可以按照以下步骤进行操作:
-
克隆仓库到本地:
git clone <仓库地址>
-
进入仓库目录:
cd <仓库名称>
-
查看仓库的提交记录:
git log
-
根据需要切换提交者的相关信息,可以使用以下命令:
-
切换作者(Author)信息:
git filter-branch --commit-filter 'if [ "$GIT_AUTHOR_NAME" = "<当前作者名称>" ]; then export GIT_AUTHOR_NAME="<新作者名称>"; export GIT_AUTHOR_EMAIL="<新作者邮箱>"; export GIT_COMMITTER_NAME="<新提交者名称>"; export GIT_COMMITTER_EMAIL="<新提交者邮箱>"; fi; git commit-tree "$@"' HEAD
-
切换提交者(Committer)信息:
git filter-branch --commit-filter 'if [ "$GIT_COMMITTER_NAME" = "<当前提交者名称>" ]; then export GIT_AUTHOR_NAME="<新作者名称>"; export GIT_AUTHOR_EMAIL="<新作者邮箱>"; export GIT_COMMITTER_NAME="<新提交者名称>"; export GIT_COMMITTER_EMAIL="<新提交者邮箱>"; fi; git commit-tree "$@"' HEAD
请注意将
<当前作者名称>
、<新作者名称>
、<当前提交者名称>
、<新提交者名称>
等替换为实际的姓名和邮箱。 -
-
强制推送修改后的提交记录:
git push --force
需要注意的是,这种方法会改变提交历史,因此谨慎使用,并确保在克隆或拉取仓库之前备份重要数据。