Próbuję napisać skrypt tkaniny, który robi git commit
; jednak jeśli nie ma nic do zatwierdzenia, git kończy pracę ze statusem 1
. Skrypt wdrażania traktuje to jako niepowodzenie i kończy pracę. Chcę wykrywać rzeczywiste niepowodzenia w zatwierdzaniu, więc nie mogę po prostu dać tkaninie koca ignorowania git commit
błędów. Jak mogę pozwolić na ignorowanie błędów zatwierdzania pustego, aby wdrażanie mogło być kontynuowane, ale nadal przechwytywało błędy spowodowane niepowodzeniem prawdziwego zatwierdzenia?
def commit():
local("git add -p && git commit")
git diff
jest to polecenie „porcelain”, którego nie należy używać do tworzenia skryptów. To, czego najprawdopodobniej chcesz, togit diff-index --quiet HEAD || git commit -m 'bla'
. Zobacz także tę odpowiedź .