我如何更改我的所有提交历史记录的名称和电子邮件,但是对于特定的提交者而言......
如果是committer_name =" Hugo Casa" 改变: committer_name committer_email AUTHOR_NAME AUTHOR_EMAIL在这之后, 推送并刷新历史数据。
请帮助我搜索并找到:
git filter-branch --commit-filter '
if [ "$GIT_COMMITTER_NAME" = "production251" ];
then
GIT_COMMITTER_NAME="Hugo Casanova";
GIT_AUTHOR_NAME="Hugo Casanova";
GIT_COMMITTER_EMAIL="hugo.casanova.ibusplus.com";
GIT_AUTHOR_EMAIL="hugo.casanova.ibusplus.com";
git commit-tree "$@";
else
git commit-tree "$@";
fi' HEAD
git filter-branch --env-filter '
oldname="(old name)"
oldemail="(old email)"
newname="(new name)"
newemail="(new email)"
[ "$GIT_AUTHOR_EMAIL" = "$oldemail" ] && GIT_AUTHOR_EMAIL="$newemail"
[ "$GIT_COMMITTER_EMAIL" = "$oldemail" ] && GIT_COMMITTER_EMAIL="$newemail"
[ "$GIT_AUTHOR_NAME" = "$oldname" ] && GIT_AUTHOR_NAME="$newname"
[ "$GIT_COMMITTER_NAME" = "$oldname" ] && GIT_COMMITTER_NAME="$newname"
' HEAD
但......之后: 写:git log --pretty = format:"%an" |排序-u 和production251的名称显示..
我找到了新代码:
git filter-branch --force --env-filter' 如果[" $ GIT_COMMITTER_NAME" = dmiguel" ]。 然后 GIT_COMMITTER_NAME =" Diana Miguel&#34 ;; GIT_COMMITTER_EMAIL =" paola.miguel@ibusplus.com" ;; GIT_AUTHOR_NAME =" Diana Miguel&#34 ;; GIT_AUTHOR_EMAIL =" paola.miguel@ibusplus.com" ;; 音响' - --all
这很好吗?或不?将此代码放在终端(ubuntu)之后,需要一些代码adittional?,push还是什么?答案 0 :(得分:1)
您丢失了为GIT_COMMITTER_NAME设置的值以及其他设置值和执行git commit-tree
之间的值。您需要在同一命令行中完成所有操作,或在它们前面使用export
。