是否有 git hook 或其他方法来禁止从特定分支分支和 merge 。我们要确保我们不会将“脏”集成分支 merge 到干净的部署分支中。
主要目标是人们不能执行这样的事情:
git checkout integration
git checkout -b major_problem_branch
或
git checkout deployment_or_hotfix_or_feature_branch
git merge integration
最佳答案
您可以通过将此添加到裸存储库中的配置文件来在服务器上使用分支权限:
[hooks]
allowedtomerge = user1,user2,user3
protectedbranches = master
这将允许 user1、user2 和 user3 merge 到 master 分支,但不允许其他分支。
或者您可以创建一个预提交 Hook :
#!/bin/bash
if [[ `git symbolic-ref HEAD` == "refs/heads/master" ] -a ["$USER" != "user1"]] then
echo "You cannot commit in master!"
exit 1
fi
然后你会有人进行评估并允许更改继续进行。
理想情况下,我会使用您喜欢的系统,例如 gerrit 或 assembla 或 github。他们有很好的方法通过 merge 请求控制主分支。
关于git - 禁止从特定分支分支和 merge ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13196693/