Repository navigation
Releases: hunan36/dsh-git-flow
Releases · hunan36/dsh-git-flow
Release list
0.4.0
新增功能
- 新增 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.
0.3.0-rc.2
体验优化
- 统一分支菜单与提交面板行悬停的底色,跟随主题的交互色。
问题修复
- 修复升级到 DeepSeek Harness 0.1.7-alpha.2 后分支 chip 不再显示的问题。
- 修复分支菜单弹层背景透出页面内容的问题,恢复设计系统的磨砂背景。
其他变更
- 插件依赖升级到 DeepSeek Harness 0.1.7-alpha.2,请升级到 DSH 0.1.7-alpha.2 及以上版本,旧版本不再可用。
Improvements
- Row hover color in the branch menu and the commit panel now follows the theme's interactive color.
Bug Fixes
- Fixed the branch chip not showing after upgrading to DeepSeek Harness 0.1.7-alpha.2.
- Fixed the branch menu popover letting the page show through, restoring the design system's frosted background.
Other Changes
- Plugin dependencies moved to DeepSeek Harness 0.1.7-alpha.2; please upgrade to DSH 0.1.7-alpha.2 or newer, older builds no longer work.
0.3.0-rc.1
新增功能
- 分支菜单新增「拉取远程代码」,一键拉取上游更新;只允许快进合并,分叉时明确报错,不会自动生成合并提交或改写本地提交。
- 分支胶囊新增落后徽标,显示本地落后远程多少个提交。
- 提交面板新增逐文件「放弃更改」,勾选的文件恢复到最新提交,未跟踪文件删除前需二次确认。
体验优化
- 分支胶囊状态徽标改为彩色图标样式:蓝色表示可拉取、绿色表示有未推送提交、橙色表示未提交改动。
- 提交面板支持拖拽调整宽度,刷新后保持上次宽度。
New Features
- The branch menu gains a "Pull from remote" action that updates the branch in one click. It only fast-forwards: a diverged branch fails with a clear error instead of creating a merge commit or rewriting local commits.
- The branch chip gains a badge showing how many commits the local branch is behind its upstream.
- The commit panel gains a per-file discard action that restores checked files to the latest commit; deleting untracked files requires a second confirmation.
Improvements
- Status badges on the branch chip are now colored pills with icons: blue for pullable commits, green for unpushed commits, and orange for uncommitted changes.
- The commit panel can be resized by dragging, and the width is kept across reloads.
0.2.0-rc.1
新增功能
- 提交面板新增「放弃更改」:可在单个文件上丢弃改动,已跟踪的文件还原到 HEAD,未跟踪的文件被删除,只有确认后才执行。
体验优化
- 提交面板支持拖动右边缘调整宽度,宽度按浏览器记住,双击右边缘恢复默认宽度。
- 改动文件列表改为单行显示,路径超出面板宽度时省略,长路径不再把行撑成两行。
其他变更
- 安装说明补齐两条安装路径(插件页与命令行),并写明机器上没有 pnpm 时的做法:可用 Node 自带的 npm 安装或直接拷贝目录(都需把包名写进 profile 的 bundles),也可把插件页的包管理器换成 npm。
New features
- The commit panel can discard changes in a single file: tracked files go back to HEAD and untracked ones are deleted, and only after the confirmation.
Improvements
- The commit panel can be widened by dragging its right edge; the width is remembered per browser, and a double click on that edge restores the default.
- Changed-file rows are single-line now: a long path is ellipsized instead of wrapping and growing the row.
Other changes
- The install guide now covers both install routes (plugin page and CLI) and what to do on a machine without pnpm: install with Node's npm, or copy the directory (both need the package name added to the profile's bundles), or point the plugin page at npm.
Full Changelog: 0.1.0-rc.4...0.2.0-rc.1
0.1.0-rc.4
问题修复
- 修复 pnpm 10.34 及以上版本安装本插件失败的问题(ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED):构建产物随仓库发布后,安装不再需要执行构建脚本,也不需要把包加进 pnpm 的 onlyBuiltDependencies 白名单 —— 该白名单要求写带 commit sha 的精确串,上游每次提交都会失效。
其他变更
lib/构建产物改为随仓库发布,包内移除prepare脚本:从 git 地址安装零配置完成,实测 pnpm 10.34.5 下 4 秒装完并正常启动。- 安装说明补齐插件页(GUI)方式:在「添加插件」里填
https://github.com/hunan36/dsh-git-flow,装进当前服务所在的 profile,装完刷新页面(宿主侧必要时重启 dsh web);ERR_PNPM_ADDING_TO_ROOT 的处理方式同样写明。 - 从本版本起,改动源码后需执行
pnpm build并把lib/一起提交,否则安装方拿到的是旧产物。
Bug fixes
- Fixed installation failing on pnpm 10.34 and later (
ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED): with the build output shipped in the repository, installing no longer runs a build script, and no longer needs an entry in pnpm'sonlyBuiltDependenciesallowlist — which demands a string carrying the commit sha and goes stale on every upstream commit.
Other changes
- The
lib/build output now ships in the repository and the package no longer has apreparescript, so a git-URL install needs no configuration: measured at 4 seconds under pnpm 10.34.5, with the plugin booting and serving normally afterwards. - The install guide now covers the plugin page (GUI) path: enter
https://github.com/hunan36/dsh-git-flowunder "Add plugin", note that it installs into the profile serving the page, and reload the page afterwards (restartdsh webwhen the profile needs it); theERR_PNPM_ADDING_TO_ROOTremedy is documented alongside. - From this version on, editing the sources requires
pnpm buildwithlib/committed along with it, or installers get the previous build.
0.1.0-rc.2
新增功能
- 提交面板新增「推送」按钮,只推送已提交的内容,不会顺带产生新提交。
- 分支菜单新增「推送提交」,工作区干净时也能推送待推送的提交。
体验优化
- 分支胶囊显示未推送的提交数量,并标记没有上游的分支,鼠标悬停可看到完整说明。
- 分支弹层重做:搜索框固定在顶部不再随列表滚动,分支列表过长时独立滚动,操作项固定在底部。
- 提交面板调整布局:提交信息在上、改动文件在下,底部操作改为「推送 / 提交并推送 / 提交」。
- 改动文件列表样式优化,逐个文件显示彩色状态徽标(新增绿、删除橙、冲突红)并提供悬停高亮。
问题修复
- 修复分支弹层弹出位置错误的问题:不再跑到页面左下角,窗口较矮时也不会盖住触发它的胶囊。
- 修复分支搜索框点一下就关闭菜单、鼠标无法输入的问题,现在可以正常点击并实时过滤。
- 修复没有上游的新分支「推送提交」被禁用、无法首次推送的问题。
- 修复选择较多文件时生成提交信息失败并直接套用模板的问题,输出预算由 512 提升到 4096。
- 模型没有给出可用信息时,提示会写明具体原因(路由不可用、输出格式不符等),不再只有一句「没有可用信息」。
- 语言选择在旧宿主进程上不生效时会明确提示重启,不再静默按默认语言生成。
New features
- The commit panel has a Push button that pushes what is already committed without creating another commit.
- The branch menu has a Push commits entry, so unpushed commits can be pushed even while the worktree is clean.
Improvements
- The branch chip shows how many commits are unpushed and marks a branch that has no upstream, with the full wording on hover.
- The branch popover was reworked: the search box stays pinned at the top, the branch list scrolls on its own when it grows long, and the actions stay pinned at the bottom.
- The commit panel was reordered: the message comes first and the changed files follow, with Push / Commit and push / Commit aligned at the bottom right.
- Changed-file rows are restyled with a colored status badge per file (green for additions, amber for deletions, red for conflicts) and a hover highlight.
Bug fixes
- Fixed the branch popover appearing in the wrong place: it no longer drops to the bottom-left corner of the page, and on a short window it no longer covers the chip that opened it.
- Fixed the branch search box closing the menu on the first click, which made typing into it impossible with a mouse; it now keeps focus and filters as you type.
- Fixed the Push commits entry being disabled for a branch with no upstream, which left a new branch impossible to push for the first time.
- Fixed commit-message generation failing and falling back to a template for larger selections: the output budget was raised from 512 to 4096.
- When the model returns nothing usable, the notice now names the reason (unusable route, unexpected answer shape, and so on) instead of only reporting that nothing was usable.
- A language choice that the running host process cannot honour now says so and asks for a restart, instead of silently generating in the default language.
0.1.0-rc.1
新增功能
- 新增分支胶囊,显示当前分支与未提交改动数。
- 新增分支菜单,列出全部本地分支与仅在远端的分支,支持搜索过滤和一键切换。
- 支持新建分支,基于当前分支创建后直接切换过去。
- 新增提交面板,只提交勾选的文件,不会替你暂存其它改动。
- 提交信息可由当前会话的模型根据所选改动自动生成,提交前可修改或重新生成。
- 支持提交并推送一步完成,首次推送自动建立上游分支。
- 工作区有未提交改动时切分支会被拦下,只有二次确认后才强制切换。
体验优化
- 提交信息默认英文,面板内提供
English | 中文切换,选择按浏览器记住。 - 分支菜单与提交面板在打开时读取仓库状态,改动数徽标、提交入口与文件列表始终与工作区一致。
- 工作区干净时胶囊只显示分支名;工作区不是 Git 仓库时不显示胶囊。
问题修复
- 修复提交面板停留在旧文件列表时生成信息报「输入不合法」的问题,现在会自动刷新文件列表,并说明具体哪个路径已失效。
- 修复提交信息语言跟随 diff 语言漂移的问题,中英文提示词分别锁定输出语言。
- 修复在无工作区注册表的 Profile(如自带的
headless)下插件停留在未激活状态的问题,现在正常加载,并对 Git 操作返回明确错误。
New features
- Added a branch chip in the composer tool row, showing the current branch and the number of uncommitted changes.
- Added a branch menu listing every local branch and the remote-only ones, with a search box that filters the list and one click to switch.
- Added branch creation from the current branch, which switches to the new branch as soon as it exists.
- Added a commit panel that commits only the files you check, and never stages anything else on your behalf.
- Added AI-written commit messages: the session's own model drafts the message from the selected diff, and you can edit or regenerate it before committing.
- Added commit and push in one step, which sets the branch upstream on the first push.
- Switching branches with uncommitted changes is refused first, and only forced after a second confirmation.
Improvements
- Commit messages default to English, with an
English | 中文switch in the panel that the browser remembers. - The branch menu and the commit panel read the repository when they open, so the change badge, the commit entry, and the file list always match the worktree.
- The chip shows only the branch name on a clean worktree, and renders nothing when the workspace is not a git repository.
Bug fixes
- Fixed the commit panel answering "invalid input" while it held a stale file list: it now refreshes itself and names the path that no longer exists.
- Fixed commit messages drifting into the language of the diff: both prompts now pin their output language.
- Fixed the plugin staying inactive in a profile without a workspace registry, such as the shipped
headlessprofile; it now loads and answers git calls with a clear error.