我有一个类似于问题中描述的问题如何更改 git 中提交的作者?我正在尝试的解决方案正在使用git filter-branch
,但它不起作用,因为它不会将字符串文字与空格匹配,即我需要contains
:
git filter-branch --commit-filter '
if [ "$GIT_AUTHOR_NAME" = "giovanni azua" ];
then
GIT_COMMITTER_NAME="Giovanni Azua";
GIT_COMMITTER_EMAIL="giovanni.azua@xxx.com";
GIT_AUTHOR_NAME="Giovanni Azua";
GIT_AUTHOR_EMAIL="giovanni.azua@xxx.com";
git commit-tree "$@";
else
git commit-tree "$@";
fi' HEAD
如果中间有空格,等号将不起作用,我不知道如何转义它。我也尝试过像逃避它一样giovanni\ azua
但不起作用。我也找不到任何关于这个脚本的参考,即你如何做字符串contains
或substring
匹配?我总是得到输出WARNING: Ref 'refs/heads/master' is unchanged
。
更新:它还会检查我的框是否有if [ "$GIT_AUTHOR_NAME" ~= "giovanni azua" ];
但操作员~=
不起作用。