git - 如何在 bash 别名中扩展命令?

标签 git bash alias

我想创建一个运行 git pull origin <current branch name> 的别名

我可以通过 git rev-parse --abbrev-ref HEAD 获取当前分支名称.

但是如何将第二个命令放入 bash 别名中的第一个命令中?

我已经尝试过

alias gup="git pull origin `git rev-parse --abbrev-ref HEAD`"

alias gup="git pull origin $(git rev-parse --abbrev-ref HEAD)"

但两者都会产生别名中的初始分支名称,而不是运行命令时的分支名称。

最佳答案

直接的问题是,当定义别名时,命令分站会在双引号内展开。定义。使用单引号可以通过推迟命令替换直到您实际使用别名来解决这个问题。

alias gup='git pull origin $(git rev-parse --abbrev-ref HEAD)'

但是,您可以通过使用 shell 函数来省去尝试正确引用的麻烦。

gup () {
    git pull origin $(git rev-parse --abbrev-ref HEAD)
}

关于git - 如何在 bash 别名中扩展命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23507074/

相关文章:

shell - shell 别名是否符合 POSIX 标准?

git - 存储库中的大型测试数据集

bash - 从 bash 控制台重启服务器

git - 无法使用 .gitignore 排除文件夹

linux - for 循环和 while 循环遍历目录在 bash 中的工作方式不同

windows - Ghostscript On Windows 导致 -dPDFSETTINGS 选项无效

seo - Joomla 菜单项别名 SEO 有效,但文章别名 SEO 无效

mysql - codeigniter 表别名中的问题

git - 我需要手动获取 ~/.bashrc 以在我的命令提示符中显示和更新 GIT 分支

git - 无法在 git 中提交某些文件的本地更改