From 6a45c9e53b5930f023fad3123a36f9a8cda77ccb Mon Sep 17 00:00:00 2001 From: wangzengdi Date: Sun, 11 Sep 2016 20:46:50 +0800 Subject: [PATCH] change git current branch old email with new email in batches --- plugins/git/git.plugin.zsh | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/plugins/git/git.plugin.zsh b/plugins/git/git.plugin.zsh index 6197c234b..a94d8ea1b 100644 --- a/plugins/git/git.plugin.zsh +++ b/plugins/git/git.plugin.zsh @@ -32,6 +32,23 @@ function work_in_progress() { echo "WIP!!" fi } +#change current branch old email with new eamil +gmvemail() { + export OLD_GIT_EMAIL=$1 + export NEW_GIT_EMAIL=$2 + git filter-branch --commit-filter ' + if [ "$GIT_AUTHOR_EMAIL" = "$OLD_GIT_EMAIL" ]; + then + GIT_AUTHOR_EMAIL="$NEW_GIT_EMAIL"; + git commit-tree "$@"; + else + git commit-tree "$@"; + fi' HEAD + unset OLD_GIT_EMAIL + unset NEW_GIT_EMAIL + BRANCH_NAME=$(git symbolic-ref --short HEAD) + git update-ref -d refs/original/refs/heads/${BRANCH_NAME} +} # # Aliases