6

Для моих сценариев непрерывной интеграции я хочу проверить, не ветка git не синхронизирована с веткой master. Поэтому я использую

git rev-list --left-right --count master...my-branch-name

Это вернет что-нибудь. лайк

1    3

(3 коммитов впереди мастера, 1 сзади)

Добавление | cut -f1 даст мне только первый номер (фиксирует за мастером).

Теперь я хочу выйти из скрипта только с этим номером, потому что 0 коммитов - это успех, все остальные должны выдавать ошибку.

Как я могу это сделать? Я старался

exit 'git rev-list --left-right --count master...my-branch-name | cut -f1'

но это поднимает

/bin/bash: строка 66: выход: git rev-list --left-right --count master ... my-branch-name | cut -f1: требуется числовой аргумент

Есть ли лучшая практика для этого?

1 ответ1

5

Просто измените свою строку:

exit 'git rev-list --left-right --count master...my-branch-name | cut -f1'

чтобы:

exit `git rev-list --left-right --count master...my-branch-name | cut -f1`

Все, что находится между ` кавычками, будет выполнено и возвращено скрипту bash, так что вы можете делать с ним все, что захотите, в том числе назначать его переменной.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .