From 7c6aefaf78e0b5ecd91a9d4e987f506ce9806cd4 Mon Sep 17 00:00:00 2001 From: Gaetan Semet Date: Tue, 28 Nov 2017 23:09:58 +0100 Subject: [PATCH] update git2 Signed-off-by: Gaetan Semet --- plugins/git2/git2.plugin.zsh | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/plugins/git2/git2.plugin.zsh b/plugins/git2/git2.plugin.zsh index e9d74b598..4e3339aa0 100644 --- a/plugins/git2/git2.plugin.zsh +++ b/plugins/git2/git2.plugin.zsh @@ -67,6 +67,7 @@ alias gPhm='git push heroku master' alias gPo='git push origin' # git push origin force alias gPof='git push origin --force' +alias gPt='git push --tags' ################ # Git Fetch (gf) @@ -364,3 +365,23 @@ alias gignored='git ls-files -v | grep "^[[:lower:]]"' # Tig aliases alias tg='tig --all' alias tiga='tig --all' + +function git-change-author() { + DEFAULT_NAME="$(git config user.name)" + DEFAULT_EMAIL="$(git config user.email)" + export OLD_NAME="${1:-$DEFAULT_NAME}" + export NEW_NAME="${2:-$DEFAULT_NAME}" + export NEW_EMAIL="${3:-$DEFAULT_EMAIL}" + + echo "Old:" $OLD_NAME "<*>" + echo "New:" "$NEW_NAME <$NEW_EMAIL>" + echo "To undo, use: git reset $(git rev-parse HEAD)" + + git filter-branch -f --env-filter \ + 'if [ "$GIT_AUTHOR_NAME" = "${OLD_NAME}" ]; then + export GIT_AUTHOR_NAME="${NEW_NAME}" + export GIT_AUTHOR_EMAIL="${NEW_EMAIL}" + export GIT_COMMITTER_NAME="${NEW_NAME}" + export GIT_COMMITTER_EMAIL="${NEW_EMAIL}" + fi' +}