Где нам, возможно, понадобятся хуки pre-commit и pre-pu sh, чтобы связать наш код - PullRequest
0 голосов
/ 07 апреля 2020

Предполагается, что в нашем проекте есть линтер. У меня есть ловушка предварительной фиксации, которая помешает моему проекту, и, если пропустить без ошибок, он будет зафиксирован. Я хочу установить хук pre-pu sh, чтобы закрепить мой проект на pu sh. Но я не вижу смысла делать это на pu sh, так как код будет уже помечен при коммите. Итак, может ли кто-нибудь указать мне сценарий, в котором необходим предварительный pu sh линт с уже имеющейся ссылкой перед фиксацией?

Ответы [ 3 ]

2 голосов
/ 08 апреля 2020

Если это один и тот же набор чеков, я согласен с тем, что нет оснований иметь как pre-commit, так и pre-push

, однако, если это разные чеки (которые я обычно предлагаю оставить только самые быстрые проверки в pre-commit и более медленные проверки в pre-push), тогда есть причина использовать оба хука.

Примером может быть что-то быстрое, например проверка синтаксиса в pre-commit и прогон модуля тесты в pre-push

2 голосов
/ 08 апреля 2020

Если вы используете хук pre-commit, то и хук pre-push также не нужен. Оба будут охватывать одинаковый набор коммитов при обычном использовании. И то, и другое можно обойти с помощью --no-verify, поэтому ни один из них не подходит для контроля доступа. Хук pre-commit может, тем не менее, быть полезным инструментом для разработчиков, которые могут его использовать.

Если вы хотите наложить принудительное ограничение на вашу кодовую базу, вы должны использовать проверку в вашей системе CI, которую пользователи не могут изменять. Это оставляет хук pre-commit для пользователей, которые находят его полезным, а более опытные пользователи, которые могут создавать многоразовые коммиты, которые они не хотят задерживать, могут пропустить его и полагаться на CI.

0 голосов
/ 09 апреля 2020

Допустим, вы накладываете код на обе ловушки. Предполагая, что ваша ветвь использует pre-comit hook и помечена. И есть еще одна ветка, которая не выровнена. Затем вы перебазируете свою ветку из безлимитной ветки и хотите сделать pu sh. В это время крючок pre-pu sh предотвратит нажатие, если вы не исправите эти проблемы с ворсом. То же самое касается слияния неразветвленной ветки с вашей веткой и попытки пу sh.

...