我在 bash_profile 中发现了这一点,我已将罪魁祸首缩小到:
alias initialpush="git push -u origin `git symbolic-ref --short -q HEAD`"
我无法正确获取 bash_profile:
cchilders:~
$ src
fatal: Not a git repository (or any of the parent directories): .git
换成其他风格也没用,同样的问题:
alias initialpush="git push -u origin $(git symbolic-ref --short -q HEAD)"
我认为这只会发生在 Mac 上,我回家检查后才能确定。我的脚本是在 Ubuntu 上编写的。我不记得这个错误发生在我上班时有 Mac 的时候。我怎样才能阻止这个 bash_profile 发疯?谢谢
答案1
具体的子命令样式没有任何区别——无论如何,只要它们在双引号内,它们就会被扩展在解释“别名”行时。为了避免这种情况,请将别名命令放在单引号中,或者至少使用反斜杠转义$
或`
符号。
alias initialpush='git push -u origin $(git symbolic-ref --short -q HEAD)'