[英]Reset branch on git commit hook
我在Google周围搜索,但找不到正确的答案。
我基本上想要的是能够在客户端(开发人员机器)上安装git钩子,该钩子不允许他们接触分支。
例如
大师:我能够使用gitlab将大师锁定为仅潜在开发人员; 但是,我希望仅通过合并来接触母版,并且永远不要让任何人直接接触母版。 我想要的是一个git钩子,它不会让他们提交他们要掌握的更改。
我的想法是拥有一个预先提交的钩子,该钩子可以
git reset --hard
在主服务器上,如果有人尝试提交对主服务器的更改。
#!/bin/sh
if ref == 'refs/heads/master':
print "=============================================="
print "Error. You cannot Make Changes to Master "
print "=============================================="
SOMEHOW RUN git reset --hard
这样的事情会工作吗? 以及如何运行git命令?
#!/bin/bash
if [ "$(git symbolic-ref HEAD 2>/dev/null)" = "refs/heads/master" ]
then
echo "Cannot make changes to master"
exit 1
fi
exit 0
从pre-commit
挂钩中退出非零值pre-commit
中止提交。 无需删除所有更改,因为它们忘记了切换分支,因此我省略了git reset --hard
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.