主要问题
推送自上次提交和推送以来的所有本地更改是在使用git时非常频繁使用的操作,因此将其使用优化为一个命令可能是有益的,该命令的脚本如下:
git add * && git commit -m "my-message" && git push
但是在我尝试使用该方法时,它却失败了。经过一番搜索,我发现当存在被忽略的文件时,git add *
命令会返回 1(通过 echo $?
命令可以获得这个结果)。通常情况下,这不会对接下来输入的命令产生影响,但是在一个脚本中,能够自动决定是否继续非常重要。显然解决这个问题的方法就是简单地使用
git add * || git commit -m "my-message" && git push
但我希望避免这种情况,因为即使在git add
发生实际错误时,它仍会继续执行。
是否有配置选项(或其他解决方案),可以让git在添加被忽略文件但没有发生其他错误时报告退出代码0?
备注
- 我知道自动化这个不是时间使用得很明智的方式,这不是目的。
- 这只是失败的代码的最简化版本,实际脚本不使用硬编码提交消息。
git add *
为什么不用-A
?这是因为*
可以检查是否有任何修改,如果有,则添加文件... 没有任何配置选项可以做到这一点。请参考 https://dev59.com/HW865IYBdhLWcg3wTc3h。 - KamilCuk