我有一个Git预提交钩子,除非被覆盖,否则我无法承诺掌握,以鼓励在分支上进行开发.
但是,我想自动允许合并提交掌握.有没有办法从我的预提交钩子脚本中识别合并提交?该脚本如下所示:
#!/bin/bash
BRANCH=`git branch --color=never| grep '^*'|cut -c3-`
if [ "${BRANCH}D" == "masterD" -a "${GIT_COMMIT_TO_MASTER}D" != "trueD" ]
then
echo "Commit directly to master is discouraged."
echo "If you want to do this, please set GIT_COMMIT_TO_MASTER=true and then commit."
exit 1
fi
Run Code Online (Sandbox Code Playgroud)
求助:对于任何寻找剪切和粘贴的人来说,这个钩子脚本的工作版本是:
#!/bin/bash
BRANCH=$(git rev-parse --abbrev-ref HEAD)
if [ "${BRANCH}" == "master" -a "${GIT_COMMIT_TO_MASTER}" != "true" ]
then
if [ -e "${GIT_DIR}/MERGE_MODE" ]
then
echo "Merge to master is allowed."
exit 0
else
echo "Commit directly to …Run Code Online (Sandbox Code Playgroud) 在处理项目时,我希望始终在主分支以外的分支上进行编辑。Master 用于工作、经过测试的代码。
我有时会忘记这一点,然后开始在主分支上编码。然后我必须重置更改等。
我想知道有什么方法可以使主文件只读,但仍然允许合并到其中。