首页 > 解决方案 > git merge 命令以 1 退出,如果它已经是最新的

问题描述

我有这个命令:

git merge "remotes/origin/dev"; echo $?

我得到:

On branch oleg/feature/1537472700
Your branch is up to date with 'origin/oleg/feature/1537472700'.

nothing to commit, working tree clean
1

为什么它以 1 退出?知道一切正常的唯一方法是解析stdout/stderr吗?

标签: gitgit-merge

解决方案


git merge如果您的分支是最新的,则成功退出(即 0)。您看到的消息“没有可提交,工作树干净”来自git commit,如果没有可提交的内容,它确实退出 1。

您可能有某种正在调用的钩子或外壳包装器git commit,这似乎是您的非零退出代码的来源。


推荐阅读