From a92fd0171bd9d92a98d833661fdc4d899c2e972c Mon Sep 17 00:00:00 2001 From: Junegunn Choi Date: Wed, 22 Apr 2015 18:14:19 +0900 Subject: [PATCH] fco for tags and branches --- Examples.md | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/Examples.md b/Examples.md index 4dbeae9..c128ae9 100644 --- a/Examples.md +++ b/Examples.md @@ -135,11 +135,26 @@ fbr() { fzf-tmux -d $(( 2 + $(wc -l <<< "$branches") )) +m) && git checkout $(echo "$branch" | sed "s/.* //" | sed "s#remotes/[^/]*/##") } + +# fco - checkout git branch/tag +fco() { + local tags branches target + tags=$( + git tag | awk '{print "\x1b[31;1mtag\x1b[m\t" $1}') || return + branches=$( + git branch --all | grep -v HEAD | + sed "s/.* //" | sed "s#remotes/[^/]*/##" | + sort -u | awk '{print "\x1b[34;1mbranch\x1b[m\t" $1}') || return + target=$( + (echo "$tags"; echo "$branches") | + fzf-tmux -l30 -- --no-hscroll --ansi +m -d "\t" -n 2) || return + git checkout $(echo "$target" | awk '{print $2}') +} ``` ```sh -# fco - checkout git commit -fco() { +# fcoc - checkout git commit +fcoc() { local commits commit commits=$(git log --pretty=oneline --abbrev-commit --reverse) && commit=$(echo "$commits" | fzf --tac +s +m -e) &&