我想创建一个运行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)"
但两者都会导致别名中的初始分支名称,而不是命令运行时的分支名称。
答案 0 :(得分:4)
当前的问题是,当别名定义时,命令子站在双引号内扩展。使用单引号将通过推迟命令替换来解决此问题,直到您实际使用别名为止。
alias gup='git pull origin $(git rev-parse --abbrev-ref HEAD)'
但是,您可以省去尝试使用shell函数来正确引用引用的麻烦。
gup () {
git pull origin $(git rev-parse --abbrev-ref HEAD)
}