git log를 fzf에 넣고 commiit의sha를 빠르게 선택하고 싶어요.
zsh 환경 구상.
select_commit_from_git_log() {
git log -n1000 --graph --color=always --format="%C(auto)%h%d %s %C(black)%C(bold)%cr" "$@" |\
fzf -m --ansi --no-sort --reverse --tiebreak=index --preview 'f() {
set -- $(echo "$@" | grep -o "[a-f0-9]\{7\}" | head -1);
if [ $1 ]; then
git show --color $1
else
echo "blank"
fi
}; f {}' |\
grep -o "[a-f0-9]\{7\}" |
tr '\n' ' '
}
function insert_selected_git_logs(){
LBUFFER+=$(select_commit_from_git_log)
CURSOR=$#LBUFFER
zle reset-prompt
}
zle -N insert_selected_git_logs
bindkey "^gl" insert_selected_git_logs
cherry-pick 앱이라면 --all
까지 추가할 수 있다.참고 자료
Reference
이 문제에 관하여(git log를 fzf에 넣고 commiit의sha를 빠르게 선택하고 싶어요.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/miyanokomiya/articles/5931a3af9a710d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)