根据.mailmap文件重写git历史记录

乔蒂克

git是否提供一种基于文件中指定的替换自动重写git存储库历史记录的历史记录的方法.mailmapgit help shortlog有关详细信息,请参见)?

cd repository.git
somecommand /path/to/.mailmap # <-- ???
乔蒂克

没有简短的git命令。一个人需要用git filter-branch --commit-filter <command> [...]哪里<command>改变了GIT_AUTHOR_NAMEGIT_AUTHOR_EMAILGIT_COMMITTER_NAMEGIT_COMMITTER_EMAIL使用变量git check-mailmap-c mailmap.file=/path/to/.mailmap-c mailmap.blob=SOMEREV:path/to/.mailmap,例如使用.mailmap从主分支文件,可以使用

git filter-branch --commit-filter '
    R=`echo "$GIT_AUTHOR_NAME <$GIT_AUTHOR_EMAIL>" | git -c mailmap.blob=master:.mailmap check-mailmap --stdin`
    GIT_AUTHOR_NAME="${R% <*@*>}"
    R="${R##* <}"
    GIT_AUTHOR_EMAIL="${R%>}"
    R=`echo "$GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL>" | git -c mailmap.blob=master:.mailmap check-mailmap --stdin`
    GIT_COMMITTER_NAME="${R% <*@*>}"
    R="${R##* <}"
    GIT_COMMITTER_EMAIL="${R%>}"
    git commit-tree "$@"
' HEAD

当然,这在带有POSIX shell的系统上应该可以使用。

请注意,这不会重写Signed-off-by:提交消息中的任何行或类似行。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

根据先前的历史记录创建新变量

来自分类Dev

从表中检查历史记录并根据记录在MySQL中标记记录

来自分类Dev

拉力赛回溯:帮助根据未来状态获取所有历史记录

来自分类Dev

Salesforce-Apex-根据活动历史记录查询帐户

来自分类Dev

根据多组复选框更新URL窗口历史记录

来自分类Dev

Salesforce-Apex-根据活动历史记录查询帐户

来自分类Dev

根据 Jenkins 中的参数区分作业历史记录

来自分类Dev

“ git squash”(推送后)是否重写历史记录?

来自分类Dev

使用rebase重写Git历史记录

来自分类Dev

重写git历史记录,替换每个文件中的单词

来自分类Dev

如何重写git历史记录以删除对文件的修改

来自分类Dev

重写git历史记录,替换每个文件中的单词

来自分类Dev

根据 Active Directory 历史记录检查新密码(也许是复杂性策略)?

来自分类Dev

通过整个git历史记录更改文件中的字符串,filter-branch不会重写文件

来自分类Dev

Git从合并和历史记录中排除文件

来自分类Dev

在git上重命名文件并保留历史记录

来自分类Dev

使用Git强制文件历史记录关联

来自分类Dev

git在保持历史记录的同时移动文件

来自分类Dev

从所有git历史记录中删除文件

来自分类Dev

从Git历史记录中删除大文件

来自分类Dev

仅提取Git文件历史记录的“年范围”

来自分类Dev

VS Code'git mv'保留文件历史记录?

来自分类Dev

Git-从分支的历史记录中删除文件

来自分类Dev

GIT重命名文件夹历史记录

来自分类Dev

在Git中还原移动文件的历史记录

来自分类Dev

Git从合并和历史记录中排除文件

来自分类Dev

从 git 历史记录中删除文件的某些内容

来自分类Dev

缺少删除文件历史记录中的行 (git)

来自分类Dev

在 git 历史记录中移动文件

Related 相关文章

  1. 1

    根据先前的历史记录创建新变量

  2. 2

    从表中检查历史记录并根据记录在MySQL中标记记录

  3. 3

    拉力赛回溯:帮助根据未来状态获取所有历史记录

  4. 4

    Salesforce-Apex-根据活动历史记录查询帐户

  5. 5

    根据多组复选框更新URL窗口历史记录

  6. 6

    Salesforce-Apex-根据活动历史记录查询帐户

  7. 7

    根据 Jenkins 中的参数区分作业历史记录

  8. 8

    “ git squash”(推送后)是否重写历史记录?

  9. 9

    使用rebase重写Git历史记录

  10. 10

    重写git历史记录,替换每个文件中的单词

  11. 11

    如何重写git历史记录以删除对文件的修改

  12. 12

    重写git历史记录,替换每个文件中的单词

  13. 13

    根据 Active Directory 历史记录检查新密码(也许是复杂性策略)?

  14. 14

    通过整个git历史记录更改文件中的字符串,filter-branch不会重写文件

  15. 15

    Git从合并和历史记录中排除文件

  16. 16

    在git上重命名文件并保留历史记录

  17. 17

    使用Git强制文件历史记录关联

  18. 18

    git在保持历史记录的同时移动文件

  19. 19

    从所有git历史记录中删除文件

  20. 20

    从Git历史记录中删除大文件

  21. 21

    仅提取Git文件历史记录的“年范围”

  22. 22

    VS Code'git mv'保留文件历史记录?

  23. 23

    Git-从分支的历史记录中删除文件

  24. 24

    GIT重命名文件夹历史记录

  25. 25

    在Git中还原移动文件的历史记录

  26. 26

    Git从合并和历史记录中排除文件

  27. 27

    从 git 历史记录中删除文件的某些内容

  28. 28

    缺少删除文件历史记录中的行 (git)

  29. 29

    在 git 历史记录中移动文件

热门标签

归档