git - 添加包含分号的 Git 别名

标签 git parsing git-config

当我尝试创建别名时

[alias]
    my-alias = submodule foreach 'git foo ; git bar'

Git(版本 1.7.1)出现错误

user@host:/path/repo.git$ git my-alias
error: unclosed quote
fatal: Bad alias.my-alias string

.gitconfig 似乎使用了奇怪的解析规则,因此 ; 被视为开始一行注释,甚至在引号内也是如此。

如何指定这个别名?

最佳答案

将整个别名命令用双引号引起来:

my-alias = "submodule foreach 'git foo ; git bar'"

双引号导致 .gitconfig 解析器传递分号。仍然需要单引号来分隔 submodule foreach 的参数;没有它们,它会被解析为

submodule foreach 'git foo'
git bar

这样 git bar 只在最后执行一次。

关于git - 添加包含分号的 Git 别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9478496/

相关文章:

windows - 推送更改到 Git 不起作用

java - 使用 GSON 将 JSON 解析为 Java 对象

git - 可以为 user.name Git 配置使用长的非 ascii 名称吗?

git - 从 Git 存储库中删除用户名

git - 将 Github 存储库导入 PyCharm

node.js - Heroku 部署,未添加 git remote

java - 使用 Jsoup Element.text() 时在 block 元素后面添加空格

java - 将 XML 解析为 Hashmap Java

git - git配置文件可以使用if else语句吗?

git - 如何让 winmerge 显示 git 中新文件的差异?