具有两个命令的Git别名隐藏弹出+合并仅执行第一个命令为什么?如何执行合并?

问题描述

| 我像这样设置了一个git别名:
git config --global alias.popmerge \'!git stash pop && git merge master\'
然后我这样称呼它:
git popmerge
\“ git stash pop \”被执行,但是\“ git merge master \”被忽略。 如果我在\“ git popmerge \”之后立即运行\“ git merge master \” ...它会按预期运行,执行合并。 我还有其他别名,它们的命令序列很长……它们可以完美运行。似乎在“ git stash pop \”处,别名进程停止了...是否可以避免这种行为?怎么样? 谢谢。     

解决方法

您是否检查了隐藏弹出窗口的退出代码? “ 2”表示仅当退出码为0(成功)时才执行后续列表。 您可以使用
;
而不是
&&
来忽略退出码。 使用以下方法验证成功:
true  && echo ok || echo fail   # echoes \"ok\"

false && echo ok || echo fail   # echoes \"fail\"
    

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...