shell/fzf: add bin/fzf-git-{log,sha}
This commit is contained in:
parent
8f641a3149
commit
5a65cc9960
10
shell/fzf/bin/fzf-git-log
Executable file
10
shell/fzf/bin/fzf-git-log
Executable file
|
@ -0,0 +1,10 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
git log --graph --color=always \
|
||||||
|
--format="%C(auto)%h%d %s %C(black)%C(bold)%cr" "$@" |
|
||||||
|
fzf --ansi --no-sort --reverse --tiebreak=index --bind=ctrl-s:toggle-sort \
|
||||||
|
--bind "ctrl-m:execute:
|
||||||
|
(grep -o '[a-f0-9]\{7\}' | head -1 |
|
||||||
|
xargs -I % sh -c 'git show --color=always % | less -R') << 'FZF-EOF'
|
||||||
|
{}
|
||||||
|
FZF-EOF"
|
11
shell/fzf/bin/fzf-git-sha
Executable file
11
shell/fzf/bin/fzf-git-sha
Executable file
|
@ -0,0 +1,11 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Retrieves a git commit's SHA, useful for a variety of git commands.
|
||||||
|
#
|
||||||
|
# Examples:
|
||||||
|
# + git checkout `fzf-git-sha`
|
||||||
|
# + git commit --fixup `fzf-git-sha`
|
||||||
|
|
||||||
|
commits=$(git log --color=always --pretty=oneline --abbrev-commit --reverse) &&
|
||||||
|
commit=$(echo "$commits" | fzf --tac +s +m -e --ansi --reverse) &&
|
||||||
|
echo -n $(echo "$commit" | sed "s/ .*//")
|
Loading…
Reference in a new issue