我正在尝试编写一个执行脚本git commit;但是,如果没有要提交的内容,则git会退出,状态为1。部署脚本将其视为不成功,然后退出。我确实想检测 实际 要提交的故障,因此我不能仅仅给Fabric全面忽略git commit故障。如何允许忽略空提交故障,以便部署可以继续进行,但仍然可以捕获实际提交失败时导致的错误?
git commit
1
def commit(): local("git add -p && git commit")
通过检查git diff?的退出代码来预先捕获此条件。
例如(在shell中):
git add -A git diff-index --quiet HEAD || git commit -m 'bla'
编辑:git diff根据霍尔格的评论修正命令。
git diff