Skip to content

No longer track the main branch

路志远请求将update-start-cmd-about-track合并到main-jh

What does this MR do and why?

Resolve https://jihulab.com/gitlab-cn/gitlab/-/issues/3235

  1. 调整 mono start 的策略,新分支不再默认 Track 主分支
  2. 调整 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

  1. 安装步骤 完成 Mono client 的安装

  2. 手动将 mono 分支切换为当前 MR 的 update-start-cmd-about-track

    $ cd .repo/repo/ && git checkout update-start-cmd-about-track && cd -
  3. 执行 mono startmono sync 等命令进行测试

iShot_2023-07-21_01.04.42

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

路志远 编辑于

合并请求报告