Skip to content

0.4.0

Latest

Choose a tag to compare

@hunan36 hunan36 released this 17 Oct 11:32
· 1 commit to main since this release

新增功能

  • 新增 Git Flow 分支管理,支持在分支菜单中一键启动功能、发布、热修复三类分支,功能与发布分支从 develop 切出,热修复从生产分支切出。
  • 新增「完成 Git Flow 分支」,自动合并回 develop 与生产分支、打版本标签、更新 package.json 版本号、推送分支与标签并删除已完成的本地分支。
  • 完成分支前会先列出将要执行的全部动作,确认后才开始,避免误操作。
  • 新增 Git Flow 分支类型的徽标显示,当前分支是功能、发布或热修复分支时直接在胶囊上标出。
  • 新增 Git Flow 分支命名与标签前缀配置,支持自定义生产分支名、集成分支名、三类分支前缀与标签前缀,默认分别为 main、develop、feature/、release/、hotfix/ 与 v。
  • 仓库还没有 develop 分支时,启动功能或发布分支会引导从生产分支一键创建并切换。

体验优化

  • 完成发布或热修复分支时可以修改版本号,版本号会同步写入 package.json 并提交。
  • 仓库根目录没有 package.json 时会自动跳过版本号步骤,不再中断流程。
  • 无法完成分支时(工作区有未提交改动、标签已存在、目标分支不存在)会提前给出明确提示,且不会改动仓库。

问题修复

  • 修复勾选的文件在提交前已被还原或改动失效时,整次提交失败并报出 "nothing to commit" 的问题,改为只提交真正有改动的内容。
  • 修复勾选的文件全部没有剩余改动时提示难以理解的问题,改为提示重新刷新文件列表后再试。
  • 修复中文、含引号或反斜杠命名的文件无法提交的问题,改为这类文件也能正常勾选并提交。
  • 修复重命名文件在改动列表中来源路径识别错误的问题,改为正确显示重命名前后的对应关系。

其他变更

  • 分支合并出现冲突时会保留冲突现场供手动解决,不自动中止合并;合并与标签创建后不再自动回滚,推送失败会提示「本地已完成,但推送失败」,本地成果保留。
  • 新增 Git Flow 相关 API 与配置项,请相关对接方同步更新调用。

New Features

  • Added git flow branch management: start feature, release, and hotfix branches from the branch menu; features and releases branch off develop, hotfixes branch off production.
  • Added "Finish git flow branch", which merges back into develop and production, tags the version, updates the package.json version, pushes the branches and tag, and deletes the finished local branch.
  • The finish dialog lists every action before anything runs, so the user confirms with the full set of side effects in view.
  • Added a git flow type badge on the branch chip, shown whenever the current branch is a feature, release, or hotfix branch.
  • Added git flow naming and tag configuration: production branch, integration branch, the three branch prefixes, and the tag prefix, defaulting to main, develop, feature/, release/, hotfix/, and v.
  • When the repository has no develop branch yet, starting a feature or release offers to create and check it out from production in one step.

Experience Improvements

  • The version can be edited when finishing a release or hotfix, and it is written to package.json and committed.
  • A repository without a root package.json skips the version step instead of interrupting the finish.
  • Refusals (a dirty worktree, an existing tag, a missing target branch) are reported clearly in advance and leave the repository untouched.

Bug Fixes

  • Fixed commits failing entirely with "nothing to commit" when a selected file had been reverted or lost its changes before committing; only files with real changes are committed now.
  • Fixed the confusing error shown when none of the selected files have changes left; it now asks you to refresh the file list and try again.
  • Fixed files with Chinese names, or names containing quotes or backslashes, being impossible to commit; such files can now be checked and committed normally.
  • Fixed renamed files being misidentified in the changed-files list; the old and new paths of a rename are now paired correctly.

Other Changes

  • A merge conflict during a finish is left in place to resolve by hand rather than aborted automatically; merges and tags are not rolled back afterwards, and a failed push reports "finished locally, but the push failed" while keeping the local result.
  • New git flow APIs and configuration options were added; please update any related integrations.