2014-11-04 194 views
0

我想创建一个“预分支”挂钩,阻止用户创建一个名称与给定的正则表达式匹配的分支,如果另一个分支已经存在一个名称与该表达式匹配的分支。git“pre-branch”钩子可能吗?

理想情况下,这可以在本地托管,并在用户触及远程回购之前触发,但我愿意接受任何方法,以防止在远程创建具有不需要名称的分支(预推或预先 - 接收钩可能?)

只是移动到混帐,所以请把我的git钩子的知识视为非常新手。

谢谢!

回答

2

在当地做这件事并不可取 - 开发人员在自己的回购中做的纯粹是他自己的事情。

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

如果开发人员想使用任何名称,他可以这样做 - 然后,如果它试图推送一个错误的名称,他仍然可以使用git push <remote> <localref>:<remoteref>表示法将其更改为任何其他名称,如git push origin badly_named:ok_named中所述。

+0

感谢您的回应!在我以这种方式继续并实施之前,我只想通过您运行实际问题来了解您是否有任何想法。具体的问题是包含更改的发布分支没有被带回到我们的开发分支。最初的想法是,我们可以创建一个钩子,在创建名称与另一个远程分支相似的分支时触发。这样,我们只需要发布分支使用相同的命名风格,然后dev将被迫删除分支,促使他在任何更改中合并。 – mgoldman 2014-11-11 22:31:58

+0

另一个想法是有一个永久发布分支。缺点是我们的发布分支可能包含代码不在我们的开发分支中。思考? – mgoldman 2014-11-11 22:36:37

+0

你可能已经看到它,但它是如此之好,你永远不会忽略它:http://nvie.com/posts/a-successful-git-branching-model/ – mgarciaisaia 2014-11-12 04:12:32