Verificați dacă comitetul este comitat în prealabil

În prezent, folosesc cârligul de pre-comitere pentru a interzice angajarea în filiala principală (mă obligă să lucrez la alte ramuri și să fuzesc în modificări). Acest lucru nu îmi permite să fac o angajare inițială pe un repo nou creat. Vreau să adaug un cec care să permită o comitere de comandant dacă este primul comitet.

Am incercat mai multe versiuni ale acestui lucru fara noroc ...

if [[ `git shortlog | grep -E '^[ ]+\w+' | wc -l | tr -d ' '` == 0 -a `git symbolic-ref HEAD` == "refs/heads/master" ]]
then
    echo "You cannot commit in master!"
    echo "Stash your changes and apply them to another branch"
    echo "git stash"
    echo "git checkout branch"
    echo "git stash apply"
    exit 1
fi
0

1 răspunsuri

Doar efectuați

git commit --no-verify ...

pentru primul comitet. Apoi, cârligul de pre-comitere se poate aplica pur și simplu ramurii master.

0
adăugat
perfect multumesc
adăugat autor Galen, sursa