【问题标题】:How to remove the username from Git如何从 Git 中删除用户名
【发布时间】:2021-11-30 07:48:08
【问题描述】:

问题是我想将一个项目从一个存储库移动到另一个存储库。 在第一个项目中,有几个用户发了commits

但是在我要上传项目的第二个存储库上,我想删除用户名并保留他的commits

例如:在第一个项目中,用户ABC。 但是在第二个项目中,AB 用户应该保留,但用户 C 的提交应该保留。在用户AB 下写入C 提交

告诉我,我可以用什么命令删除用户?

【问题讨论】:

  • 找到这个用户的所有提交,并--amend他们--author="Somebody<somebody@gmail.com>"

标签: git android-studio


【解决方案1】:

你可以使用 git filter-branch,这里是你要使用的过滤器的 sn-p

请注意 filter-branch 很容易破坏东西。它还会更改您的哈希值。请在manual 中阅读它以避免引起问题。对于任何如此激烈的事情,请确保您的备份井然有序。

$ git filter-branch --env-filter '
WRONG_EMAIL="wrong@example.com"
NEW_NAME="New Name Value"
NEW_EMAIL="correct@example.com"

if [ "$GIT_COMMITTER_EMAIL" = "$WRONG_EMAIL" ]
then
    export GIT_COMMITTER_NAME="$NEW_NAME"
    export GIT_COMMITTER_EMAIL="$NEW_EMAIL"
fi
if [ "$GIT_AUTHOR_EMAIL" = "$WRONG_EMAIL" ]
then
    export GIT_AUTHOR_NAME="$NEW_NAME"
    export GIT_AUTHOR_EMAIL="$NEW_EMAIL"
fi
' --tag-name-filter cat -- --branches --tags

来源:https://www.git-tower.com/learn/git/faq/change-author-name-email

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-24
    • 1970-01-01
    • 1970-01-01
    • 2013-06-17
    • 2012-07-09
    • 1970-01-01
    • 2015-02-23
    • 2013-09-17
    相关资源
    最近更新 更多