相关疑难解决方法(0)

如何修改Git中的几个提交来改变作者

我在Git中做了一系列提交,现在我意识到我忘记了正确设置我的用户名和用户邮件属性(新机器).我还没有将这些提交推送到我的存储库,所以在我这样做之前如何更正这些提交(只有主分支上的3个最新提交)?

我一直在看git resetgit commit -C <id> --reset-author,但我不认为我是在正确的轨道上.

git git-commit git-rewrite-history

153
推荐指数
5
解决办法
4万
查看次数

如何使用过滤器分支更改多个提交的提交作者?

我正在使用此链接中的此脚本来编辑所有提交中的作者信息。

#!/bin/sh

git filter-branch --env-filter '

OLD_EMAIL="your-old-email@example.com"
CORRECT_NAME="Your Correct Name"
CORRECT_EMAIL="your-correct-email@example.com"

if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ]
then
    export GIT_COMMITTER_NAME="$CORRECT_NAME"
    export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL"
fi
if [ "$GIT_AUTHOR_EMAIL" = "$OLD_EMAIL" ]
then
    export GIT_AUTHOR_NAME="$CORRECT_NAME"
    export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL"
fi
' --tag-name-filter cat -- --branches --tags
Run Code Online (Sandbox Code Playgroud)

但是,我收到以下错误(警告?):

Cannot create a new backup.
A previous backup already exists in refs/original/
Force overwriting the backup with -f
Run Code Online (Sandbox Code Playgroud)

我也检查了日志。作者信息没有改变。我在这里做错了什么?

更新:正如@elpiekay所提到的,该-f标志使脚本工作。

但是谁能解释错误日志本身?为什么提到备份?我以前从未做过任何备份(不确定错误日志中引用了什么备份

git

4
推荐指数
1
解决办法
2637
查看次数

标签 统计

git ×2

git-commit ×1

git-rewrite-history ×1