如何为查找和签出分支的bash命令编写别名

时间:2019-04-26 07:10:11

标签: linux bash git terminal alias

我想创建一个别名或函数,以按其名称的一部分查找分支并将其签出。可以使用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)
}

2 个答案:

答案 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机器,因此没有检查该命令是否确实有效-只是重新使用您提供的内容,希望它能满足您的要求。