我想创建一个别名或函数,以按其名称的一部分查找分支并将其签出。可以使用git branch | grep <search-string> | xargs git checkout
完成,但是每次都写起来很麻烦。我尝试编写一个函数(如下),但是看起来git branch
部分在其中也无法工作。
有人建议如何做吗?
function grep_checkout {
local checkout_command="git branch | grep $1 | xargs git checkout"
echo $($checkout_command)
}
答案 0 :(得分:1)
为此,我使用fzf
,我有以下别名:
alias gco='git checkout $(git branch | grep -v $(git rev-parse --abbrev-ref HEAD) | fzf)'
在项目页面上描述了如何设置它:https://github.com/junegunn/fzf
然后,我键入gco
,按回车键,然后找到分支,然后再次返回以运行结帐。
答案 1 :(得分:0)
您编写的方式与编写其他别名的方式相同:
alias fcb = 'git branch | grep <search-string> | xargs git checkout '
每当您需要运行此命令时,请使用fcb;您可以在主配置文件或配置文件bash配置中编写此代码,这样就不必在每次控制台运行时都进行设置。
PS。我没有可用的nix机器,因此没有检查该命令是否确实有效-只是重新使用您提供的内容,希望它能满足您的要求。