У меня есть сценарий pre-pu sh в моей папке .git / hooks. Этот сценарий отлично работает при отправке из локальной ветки, которая имеет уже существующую удаленную ветвь восходящего потока. Но он не запускается, когда я создаю новую ветку от мастера, скажем test-pre-push
, например, фиксирую изменение, нарушающее сборку, а затем ввожу команду git push --set-upstream origin test-pre-push
. Фиксация и ветка отправляются в удаленное репо. Как я могу убедиться, что сценарий запускается с каждым пу sh на удаленном компьютере?
Проверьте ниже мой сценарий pre-pu sh:
#!/bin/bash
#The command to run
CMD='./gradlew testDebugUnitTest'
# Check if we actually have commits to push
commits=$(git log @\{u\}..)
if [ -z "$commits" ]; then
exit 0
fi
$CMD
RESULT=$?
if [ $RESULT -ne 0 ]; then
echo "failed $CMD"
exit 1
fi
exit 0