Git 提交工作的子模块 foreach 别名
Git Submodule foreach alias to commit work
我设置了一个别名,用于使用提交消息提交包子模块中的所有修改文件。这曾经有效,但最近由于 git 更新,它已停止猜测。
别名看起来像这样
SubmoduleCommit = "!f() { git submodule foreach 'git commit --all --message= || :'; }; f"
但它不再起作用,任何想法都会改变。错误是消息需要一个值,因此不会执行 git 操作。
如果我将代码复制到 bash 并将 $1 替换为“提交消息”,那么它就可以正常工作。
你遇到的问题是双引号里面的变量会立即展开。在您的情况下, </code> 被扩展为空,因为它从未被分配过。相反,如果使用单引号,则不会进行扩展,并且会按照您看到的方式复制字符串(除非您使用 <code>\
进行转义)。
git config alias.SubmoduleCommit '!f() { git submodule foreach "git commit --all --message= || :"; }; f'
您可以通过
查看别名的外观
git config --list | grep "^alias\."
我设置了一个别名,用于使用提交消息提交包子模块中的所有修改文件。这曾经有效,但最近由于 git 更新,它已停止猜测。
别名看起来像这样
SubmoduleCommit = "!f() { git submodule foreach 'git commit --all --message= || :'; }; f"
但它不再起作用,任何想法都会改变。错误是消息需要一个值,因此不会执行 git 操作。 如果我将代码复制到 bash 并将 $1 替换为“提交消息”,那么它就可以正常工作。
你遇到的问题是双引号里面的变量会立即展开。在您的情况下, </code> 被扩展为空,因为它从未被分配过。相反,如果使用单引号,则不会进行扩展,并且会按照您看到的方式复制字符串(除非您使用 <code>\
进行转义)。
git config alias.SubmoduleCommit '!f() { git submodule foreach "git commit --all --message= || :"; }; f'
您可以通过
查看别名的外观git config --list | grep "^alias\."