Git 预 merge Hook ?

标签 git version-control merge bitbucket-server

对于我的存储库,我使用的是 Git 和 Stash。在 Stash 端,我限制了(只读)对 master 的访问权限,因此任何用户都可以从 master 分支分支以获取功能/分支,但不能直接 merge 到 master,除非通过 Pull 请求完成。

但作为用户,我可能会不小心将我的功能分支 merge 到 master 分支并尝试推送 master 分支。

好的是,推送是不允许的,并且受到 Stash 的限制,但我想知道是否有一种方法可以限制用户在一些 Hook 的帮助下将任何分支 merge 到本地的 master。

我正在尝试预提交 Hook ,它们很棒,我想知道是否有类似的东西,比如预 merge Hook 。

最佳答案

I was wondering if there was a way I could restrict the user to merge any branches to the master locally with the help of some hooks.

Ex-Stash 开发人员(无关紧要)。

正如@Zeeker 提到的,您需要让每个 开发人员将 Hook 添加到他们的本地存储库。事实上,情况比这更糟。假设您执行以下操作:

git checkout -b this-is-not-master
...
git commit -m "This is not on master"

但是你这样做:

git push origin this-is-not-master:master

用户在什么时候“打开”master?基本上你不能这样做 - 本地分支与远程分支没有关系,除了有时我们共享相同的名称很方便。如果您需要/想要限制这些东西,我会坚持向 Stash 添加 Hook 。

关于Git 预 merge Hook ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27536159/

相关文章:

python - 如何合并字典的字典?

git - Bitbucket git push 作为用户

Git 将修补程序 merge 到多个分支

git - 限制 Git 扩展中的用户模拟

svn - TortoiseSVN合并分支到主干

database - 更新到 liquibase 中的特定标签

sql-server - merge Git 数据库从一个分支到另一个分支的提交而无需 Cherrypicking

java - 如何使用 Java 中的 stash Rest API 获取 stash 存储库中特定文件夹内的文件名列表

c# - 通过复制项目文件夹来跟踪我所做的更改

Git merge 并行功能分支