检查提交是否在提交前第一次提交
问题描述:
当前我正在使用预提交挂钩来拒绝向主分支提交(迫使我在其他分支上工作并在更改中合并)。这不允许我在新创建的回购库上进行初始提交。如果它是第一次提交,我想添加一个检查以允许在主服务器上进行提交。检查提交是否在提交前第一次提交
我已经试过这多个版本,没有运气...
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
答
只是执行
git commit --no-verify ...
的第一次提交。然后你的预提交钩子可以简单地应用于主分支。
完美,谢谢 – Galen