我想创建一个配置我所有git别名的sh
脚本。一些别名具有管道(|
)和双引号("
)。我希望在~/.gitconfig
文件中看到的输出是:
[alias]
assume = update-index --assume-unchanged
unassume = update-index --no-assume-unchanged
assumed = "!git ls-files -v | grep ^h | cut -c 3-"
但是,运行以下三个命令会产生错误的assumed
条目:
# setup git aliases per: http://blog.apiaxle.com/post/handy-git-tips-to-stop-you-getting-fired/
git config --global alias.assume "update-index --assume-unchanged"
git config --global alias.unassume "update-index --no-assume-unchanged"
git config --global alias.assumed '"!git ls-files -v | grep ^h | cut -c 3-"'
第三个别名(assumed
)有不需要的反斜杠:
assumed = \"!git ls-files -v | grep ^h | cut -c 3-\"
通过命令行配置别名的正确语法是什么?
答案 0 :(得分:10)
.gitconfig中不需要双引号。
所以命令是:
git config --global alias.assumed '!git ls-files -v | grep ^h | cut -c 3-'