无法创建git别名?

时间:2017-08-18 05:16:33

标签: git bash

我想创建一个Git别名,这样我就可以一次运行多个命令。

我在终端输入以下内容:

  

git config alias.cleanpull“!git reset --hard HEAD; git clean -f; git   拉“

我认为这是正确的语法,但在输入命令后立即得到以下输出(即从定义命令,而不是实际运行它):

git config alias.cleanpull "git config cleanpull.q "git push --all origin reset --hard HEAD; git clean -f; git pull" reset --hard HEAD; git clean -f; git pull"
usage: git config [<options>]

Config file location
    --global              use global config file
    --system              use system config file
    --local               use repository config file
    -f, --file <file>     use given config file
    --blob <blob-id>      read config from given blob object

Action
    --get                 get value: name [value-regex]
    --get-all             get all values: key [value-regex]
    --get-regexp          get values for regexp: name-regex [value-regex]
    --get-urlmatch        get value specific for the URL: section[.var] URL
    --replace-all         replace all matching variables: name value [value_regex]
    --add                 add a new variable: name value
    --unset               remove a variable: name [value-regex]
    --unset-all           remove all matches: name [value-regex]
    --rename-section      rename section: old-name new-name
    --remove-section      remove a section: name
    -l, --list            list all
    -e, --edit            open an editor
    --get-color           find the color configured: slot [default]
    --get-colorbool       find the color setting: slot [stdout-is-tty]

Type
    --bool                value is "true" or "false"
    --int                 value is decimal number
    --bool-or-int         value is --bool or --int
    --path                value is a path (file or directory name)

Other
    -z, --null            terminate values with NUL byte
    --name-only           show variable names only
    --includes            respect include directives on lookup

git: 'pull reset --hard HEAD; git clean -f; git pull' is not a git command. See 'git --help'.

1 个答案:

答案 0 :(得分:2)

shell中的问题(我猜你有bash,它是最常见的,但它可能是csh或其他一些),而不是git。 Bash威胁!符号专门用作命令历史记录的参考。为了使用它,你必须用反斜杠(\!

来逃避它
git config alias.cleanpull "\!git reset --hard HEAD; git clean -f; git pull"

或使用单引号

git config alias.cleanpull '!git reset --hard HEAD; git clean -f; git pull'

有关详细信息,请参阅bash manual中的历史记录扩展部分。