我找到了带有 fzf(fuzzy finder) 的 git 示例,它们确实很好用。喜欢:
# fbr - checkout git branch
fbr() {
local branches branch
branches=$(git branch -vv) &&
branch=$(echo "$branches" | fzf +m) &&
git checkout $(echo "$branch" | awk '{print $1}' | sed "s/.* //")
}
# fbr - checkout git branch (including remote branches)
fbr() {
local branches branch
branches=$(git branch --all | grep -v HEAD) &&
branch=$(echo "$branches" |
fzf-tmux -d $(( 2 + $(wc -l <<< "$branches") )) +m) &&
git checkout $(echo "$branch" | sed "s/.* //" | sed "s#remotes/[^/]*/##")
}
我的.bashrc中有这个
bind '"\C-b": "fbr \n"'
在我按下Ctrl-b之后,我可以选择一个 git 的分支,它会在我按下回车后立即切换,但是有没有办法先输入一些东西git push staging
(然后获取分支列表并将选定的分支放在光标之前的位置调用分支列表,然后按 Enter 将所选分支推送到staging
)
例如:(
git push staging
Ctrl -b - 选择一个分支)我想得到这个输出 -git push staging selected_branch