【发布时间】:2022-01-21 13:26:25
【问题描述】:
我有 master 和 hotfix_master 分支。这些是发布分支,在 Gitlab UI 中的项目设置下受到保护。
我想要实现的是,在从master 发生的每个生产版本之后重新设置hotfix_master 分支,这样如果客户提出任何错误,我们可以在hotfix_master 分支上修复该错误并发布给客户.
在进行概念验证时,我意识到即使 hotfix_master 分支受到保护,我仍然可以在不创建任何 PR 的情况下进行 rebase。这是预期的吗?如果是,保护有什么用?以及只有在创建 PR 后才允许 rebase 应该怎么做?
编辑 1
这就是我正在做的事情
- git fetch
- git checkout hotfix_master
- git diff --name-only origin/hotfix_master...origin/master
- git rebase origin/master
- git status
- git push
在变基之后,我看到的是,来自master 的所有更改现在都在hotfix_master 上。那么,公关的问题在哪里?为什么 gitlab 不抱怨你没有提出 PR 。请推荐
编辑 2
【问题讨论】:
-
I can still rebase without creating any PR你是怎么做到的? -
请建议。见编辑 1
-
有什么建议?你需要什么建议?
where is the question of PR ?没有“拉取请求”,您没有提出任何请求。why gitlab is not complaining that you haven't raised PR为什么要呢?您只连接git fetch,之后您可以关闭您的网络连接。 -
对不起,忘记在 EDIT 1 的末尾添加 git push 命令。所以我的疑问是,我可以在没有 PR 的情况下将代码推送到 hotfix_master 分支。不明白为什么?
-
现在这改变了一切;)。那么,每个命令的确切输出是什么?如果你能够推送,这意味着没有任何变化或者你打错了——分支名称、错误的项目、错误的 gitlab 服务器、你没有正确应用保护等等。它应该被拒绝。
标签: git gitlab git-rebase