No longer track the main branch
What does this MR do and why?
Resolve https://jihulab.com/gitlab-cn/gitlab/-/issues/3235
- 调整
mono start
的策略,新分支不再默认 Track 主分支 - 调整
mono sync
的策略,不再对无 Track 分支的本地分支直接跳过
具体变动如下:
Start 命令的改动
假设默认分支为 main
,执行 mono start feature .
Case | Before | After |
---|---|---|
feature 在本地已经存在 | 直接 git checkout feature | 直接 git checkout feature |
feature 在本地不存在,但在服务端存在 | 不理服务端,直接基于 main 创建 feature,并且 Track main | 直接 git checkout feature |
feature 在本地不存在,在服务端也不存在,是一个全新的分支 | 基于 main 创建 feature,并且 Track main | 基于 main 创建 feature,但不主动设置 Track |
Sync 命令的改动
假设默认分支为 main
,执行 mono sync
Case | Before | After |
---|---|---|
当前分支是 main | 拉取服务端代码 | 拉取服务端代码 |
当前分支是 feature,且有 Track | 无视 Track 分支,全都 rebase main,然后把 Track 改为 main | 无视 Track 分支,全都 git pull 当前分支,然后 rebase main |
当前分支是 feature,且没有 Track | 不对此分支做更新,而是 checkout 到 main 的最近一次提交 | 先检查如果在服务端有同名分支,将其设置为 Track 并 git pull ;然后执行 rebase main |
Screenshots or screen recordings
Screenshots are required for UI changes, and strongly recommended for all other merge requests.
How to set up and validate locally
-
按 安装步骤 完成 Mono client 的安装
-
手动将
mono
分支切换为当前 MR 的update-start-cmd-about-track
$ cd .repo/repo/ && git checkout update-start-cmd-about-track && cd -
-
执行
mono start
、mono sync
等命令进行测试
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.
由 路志远 编辑于