您可以使用预提交挂钩来检查您是否在生产分支上,但钩子脚本无法从用户收集信息.一种可能的替代方案是声明应该使用--no-verify(或-n)选项git
commit来真正进行提交.
这可以通过以下方式完成.git/hooks/pre-commit:
#/bin/sh
case "$(git rev-parse --symbolic-full-name HEAD)" in
refs/heads/production)
echo 'Use `git commit --no-verify` to commit to production branch'
exit 1
;;
esac
Run Code Online (Sandbox Code Playgroud)
适当设置提示并查看您始终所在的分支 - https://github.com/git/git/blob/master/contrib/completion/git-prompt.sh
如果您想要更好的工具,例如更好的 git 提示符、ruby 版本提示符、python virtualenv 提示符等,请尝试bash-it- https://github.com/revans/bash-it
如果您想要此处描述的确切解决方案,请为 git commit 设置一些别名脚本,设置一个pre-commit挂钩等,这将看到您当前的分支并根据需要提示您。