实际项目中,因为项目成员有时候会换电脑,所以git的author以及email信息不一定保持一致,结果导致在提交记录中同一个人会有不同的名字……简直不能忍啊……
找了一下,这个方法看上去是靠谱的
#!/bin/sh git filter-branch --env-filter ' an="$GIT_AUTHOR_NAME" am="$GIT_AUTHOR_EMAIL" cn="$GIT_COMMITTER_NAME" cm="$GIT_COMMITTER_EMAIL" if [ "$GIT_COMMITTER_EMAIL" = "your@email.to.match" ] then cn="Your New Committer Name" cm="Your New Committer Email" fi if [ "$GIT_AUTHOR_EMAIL" = "your@email.to.match" ] then an="Your New Author Name" am="Your New Author Email" fi export GIT_AUTHOR_NAME="$an" export GIT_AUTHOR_EMAIL="$am" export GIT_COMMITTER_NAME="$cn" export GIT_COMMITTER_EMAIL="$cm" '
跑起来,慢是慢了点……0.5s一个commit吧,当前项目1000多个commits是要跑一段时间的,不过确实有效~
干干净净真开心!强迫型人格障碍患者福利~
啊啊 被坑了啊!!!
进行这样的操作以后,之前所有的Commit都变成双份了,hash值都不一样,我不清楚是我操作的问题还是什么问题……反正这种方案暂且存疑T T