~/.zshrc自定义git组合操作函数执行时git commit提示提交信息为空如何解决
问题解决方法
报错原因
- 修改
~/.zshrc后未执行重载操作,当前终端仍在使用修改前的旧函数逻辑 - 原有函数仅接收第一个位置参数
$1,如果调用时提交信息包含空格且未用引号包裹,或者漏传参数,就会导致git commit拿到的信息为空
优化后函数代码
function gall () { # 校验提交信息是否为空 if [ $# -eq 0 ]; then echo "调用错误:请传入提交信息,示例:gall \"修复用户登录接口超时问题\"" return 1 fi git add . git commit -m "$*" git push }
这里用
"$*"代替"$1",可以自动把所有传入的参数拼接为整段字符串作为提交信息,适配多词提交信息的场景。
生效步骤
- 将上述代码替换你原有
gall函数的内容,保存到~/.zshrc文件 - 执行
source ~/.zshrc重载配置,新的函数逻辑才会在当前终端会话生效 - 调用时如果提交信息包含空格,推荐用双引号包裹整段信息:
gall "你的自定义提交信息"
内容的提问来源于stack exchange,提问作者ricardomart
相关产品推荐
相关产品推荐

