Я намагаюся написати сценарій тканини, який робить a git commit
; однак, якщо немає чого робити, git виходить зі статусом 1
. Сценарій розгортання сприймає це як невдалий і завершує роботу. Я дійсно хочу виявити фактичні помилки до фіксації, тому я не можу просто давати тканині загальний ігнорування git commit
відмов. Як я можу дозволити ігнорувати помилки порожнього коміту, щоб розгортання могло продовжуватися, але все одно ловити помилки, що виникають, коли справжній коміт не вдається?
def commit():
local("git add -p && git commit")
git diff
це "порцелянова" команда, яку не слід використовувати для створення сценаріїв. Що ви, швидше за все, хочетеgit diff-index --quiet HEAD || git commit -m 'bla'
. Дивіться також цю відповідь .