git_commit(路径:“ *”,消息:“ message”)
如果没有要提交的操作,此操作将失败。即使没有要提交的内容,如何继续执行Fastlane脚本?
我正在寻找的东西可以通过以下两个选项之一来实现:
git_commit
操作中添加一些参数,这样,如果没有要提交的内容,脚本就不会崩溃(而是继续)git_commit
。我找不到使用方法1完成此操作的任何方法,因此我正在寻找第二种方法的实现。
答案 0 :(得分:0)
您可以尝试断言状态是干净的,捕获异常并通过git commit处理它:
begin
ensure_git_status_clean
rescue
git_commit
end
或者,您可以使用sh
操作在外壳中执行任何操作
答案 1 :(得分:0)
您可以实现一个脚本,该脚本告诉您是否存在分阶段的更改,然后使用输出确定是否应创建提交。
如果有阶段性更改,以下脚本将返回1,否则返回0。
#!/bin/bash
if [[ -n "$(git diff --name-only --cached)" ]]
then
exit 1
else
exit 0
fi
假设您将脚本命名为 CheckStagedFiles ,则必须在通道中添加以下内容:
shouldCommit = sh(".CheckStagedFiles.sh")
if shouldCommit
git_commit(path: "*", message: "message")
end