如何使用永久退出0状态进行git commit?

Bob*_*ijt 1 git travis-ci

在Travis-ci中,我正在使用此命令。

git push origin HEAD:${TRAVIS_PULL_REQUEST_BRANCH:-$TRAVIS_BRANCH}

除非没有什么可提交的,否则所有这些工作都很好(响应:)Everything up-to-date

在我的情况下,这是一个很好的响应,但是它导致:exited with 1.这是我想避免的事情。无论它是否能够提交还是全部更新,我都希望做出回应exit 0

我怎样才能做到这一点?

更新:
正如@Mort在评论中所提到的,它|| true可以工作,但是现在我始终具有积极的退出状态。我只想更改的Git退出代码Everything up-to-date

JCo*_*ier 6

您的问题不是Travis独有的,考虑到这一点,已经在此页面上回答。但由于我没有足够的声誉将其标记为重复,因此我将在此处重新发布自己最受欢迎的(也是最佳的)答案的版本。

因此,您遇到了经典的exited with a 1问题,因为您在没有要提交的内容时尝试进行提交。但是,exited with a 1如果有实际问题,您仍然希望它。只需执行以下操作:如果发现没有要提交的内容,则根本不要运行commit命令。您将事先检查是否有任何提交,例如:

git diff-index --quiet HEAD || git commit -am 'Jolly ol commit message' 
Run Code Online (Sandbox Code Playgroud)

非常漂亮。