如何防止在分离的HEAD中提交

Ben*_*Ben 3 git pre-commit-hook git-detached-head

为什么git允许你承诺一个独立的头?有没有可以禁用它的预提交钩子?什么目的?许多新开发人员这样做,我想找到一种方法来禁用它.

fra*_*acz 5

这只能通过本地git pre-commit钩子来阻止,因此开发人员需要创建它.添加your-local-project/.git/hooks/pre-commit包含以下内容的文件:

#!/bin/sh

if ! git symbolic-ref HEAD &> /dev/null; then
  echo "You are in a detached head state! Commit has been blocked. (Use --no-verify to bypass this check.)"
  exit 1
fi
Run Code Online (Sandbox Code Playgroud)

确保它是可执行的.积分转到svachalek

为什么git会阻止在独立的HEAD中提交?分离的HEAD 表示没有指向您正在处理的存储库状态的指针.它假设你知道你在做什么.

我宁愿调查为什么团队中的许多开发人员都会进入这种状态?也许他们应用了一些奇怪的工作流程?