【问题标题】:git "pre-branch" hook possible?git“预分支”钩子可能吗?
【发布时间】:2023-03-04 20:43:01
【问题描述】:

我想创建一个“pre-branch”钩子,如果另一个分支已经存在并且名称与相同的表达式匹配,则该钩子会阻止用户创建名称与给定正则表达式匹配的分支。

最理想的情况是,这可以在本地托管并在用户接触远程仓库之前触发,但我愿意接受任何可以阻止在远程上创建具有不需要的名称的分支的方法(预推送或预可能会收到钩子?)

刚刚转到 git,所以请把我对 git hooks 的知识视为非常新手。

谢谢!

【问题讨论】:

    标签: git git-branch githooks


    【解决方案1】:

    不建议在本地这样做 - 开发人员在自己的 repo 中所做的事情完全是他自己的事。

    您可以安装一个服务器端挂钩来检查正在推送的引用名称。 this example 中的第一个脚本显示了如何获取引用名称。

    如果开发人员想要使用任何名称,他可以这样做 - 然后,如果它试图推送一个坏名称,他仍然可以使用 git push <remote> <localref>:<remoteref> 表示法将其更改为他想要的任何其他名称,如 @ 987654324@.

    【讨论】:

    • 感谢您的回复!在我继续以这种方式实现它之前,我只想让你运行实际的问题,看看你是否有任何想法。具体问题是包含更改的发布分支没有被带回我们的开发分支。最初的想法是我们可以创建一个钩子,当创建一个名称与另一个远程分支相似的分支时触发。这样,我们只需要要求发布分支使用相同的命名风格,然后开发人员将被强制删除分支,并提示他合并任何更改。
    • 另一个想法是拥有一个永久发布分支。缺点是我们的发布分支可能包含我们的开发分支中不存在的代码。想法?
    • 您可能已经看过它,但它非常好,您永远不会忽视它:nvie.com/posts/a-successful-git-branching-model
    猜你喜欢
    • 2023-03-04
    • 2010-11-17
    • 2011-05-10
    • 1970-01-01
    • 2012-04-01
    • 2011-09-16
    • 1970-01-01
    • 2013-12-15
    相关资源
    最近更新 更多