git历史提交记录脱敏
引子
最近写了个小项目,一直放在本地。写简历的时候俺觉得github有点少,于是俺决定将其放到github里去。蛋是,俺发现俺的大名在git的提交记录里面,俺又想保留提交记录,emmmm,于是有了这篇文章,目前仅有对用户名和邮箱的脱敏,因为俺只有这个地方比较敏感。至于代码中提交的系统文件绝对路径,俺倒是不在乎。
正文
原本使用git filter-branch
,尝试运行后提示
1 | WARNING: git-filter-branch has a glut of gotchas generating mangled history |
于是俺就去看了看这个项目,本文会使用git-filter-repo
对提交记录脱敏。
安装
pip安装
1 | pip install git-filter-repo |
aur安装
1 | yay -S git-filter-repo |
对邮箱和用户名脱敏
mailmap
要对历史记录中的用户名和邮箱进行脱敏,需要用到mailmap文件
mailmap写法
1 | username <email@addre.ss> |
修改用户名和邮箱的基础是原邮箱,所有的修改都是建立在匹配原邮箱的基础上做的
使用
编写mailmap文件
1 | # 注意这个<>是必须的 |
执行命令
1 | git filter-repo --mailmap mailmapfile |
缩写
--use-mailmap
是--mailmap .mailmap
的缩写
直接使用当前目录下的.mailmap
文件
如果要将这个文件提交到git中。就使用第一个mailmap写法把,不要将oldemail放到里面了哦
参考
GitHub newren/git-filter-repo: Quickly rewrite git repository history (filter-branch replacement)
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 ziWindlu的博客!