У меня есть несколько репозиториев Git, которые автоматически обновляются скриптом. Одна из задач сценария - запустить npm install
для каждого репозитория (репозитории содержат проекты Node.js).
Время от времени это приводит к обновлению package-lock.json
файла, и я хотел бы зафиксировать его автоматически, если он был изменен.
Конечно, я могу просто запустить:
git add package-lock.json
git commit -m 'Update dependencies.'
Но это не получится, если файл не был обновлен: хотя git add
просто ничего не делает и завершается с кодом возврата 0
, вызов git commit
завершается неудачно с кодом выхода 1
. Как я могу сделать это так, чтобы это происходило только в том случае, если файл действительно обновлялся?
Другими словами: если файл не был обновлен, я не хочу, чтобы часть git add
/ git commit
происходила. Как я мог это сделать?