gpt4 book ai didi

防止从特定分支创建新分支的 Git 钩子(Hook)

转载 作者:太空狗 更新时间:2023-10-29 12:55:39 28 4
gpt4 key购买 nike

我开始尝试使用 git hooks,我想创建一个来防止开发人员在特定分支上创建新分支。我们公司目前的流程是这样的:

git checkout master
git fetch
git reset --hard origin/master
git checkout -b [branch name]
do awesome things.

但是,偶尔在快速移动时,一些开发人员最终会从暂存存储库开始这个新分支。这引起了悲伤。

所以,我想创建一个 Hook ,以便在开发人员开始创建新分支时中断,检查他们在哪个分支上,如果分支不是 exit 1 master(或者如果分支名称是 staging,则通常停止操作),否则允许它。

编辑:

当我对此进行更多搜索时,我意识到我需要一个预 checkout Hook ,但它似乎并不存在。除非有人有更好的主意,否则如果上述情况发生,我将继续在 checkout 后 Hook 中打印一个非常大的警告。

最佳答案

对于客户端,您可以创建一个post-checkout Hook ,它使用git branch --merged 查看当前分支中 merge 的分支。如果要阻止分支的分支 merge 到当前分支中,则会抛出错误。

bach 中的代码如下所示:

#!/bin/shgetBranchName(){    echo $(git rev-parse --abbrev-ref HEAD)}getMergedBranches(){    echo $(git branch --merged)}if [ "$(getBranchName)" != "dev" ]; then    if [[ $(getMergedBranches) == *"dev"* ]]; then        echo "Don't create branches from the dev branch!"        exit 1    fifi

关于防止从特定分支创建新分支的 Git 钩子(Hook),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8235813/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com