Skip to content

改进 Git 分支检测和处理逻辑 - #110

Merged
HeiSir2014 merged 1 commit into
masterfrom
heisir/feat-improve-git-branch-detection-6e9b47
Sep 28, 2025
Merged

改进 Git 分支检测和处理逻辑#110
HeiSir2014 merged 1 commit into
masterfrom
heisir/feat-improve-git-branch-detection-6e9b47

Conversation

@HeiSir2014

Copy link
Copy Markdown
Owner

变更内容

  • BaseAiflowApp 类中添加了对当前分支检测失败的处理逻辑,当无法检测到当前分支或处于分离 HEAD 状态时会输出错误信息并终止执行
  • GitService 类中重构了 checkout 方法及其相关私有方法,使其返回布尔值以表示操作是否成功
  • 改进了 GitService 中的 stash 处理逻辑,分别检查未暂存和已暂存的更改,并在需要时进行 stash 操作
  • 增强了 GitService 中的错误处理机制,在获取 git 用户名、diff 输出和更改文件列表时添加了 try-catch 块
  • 修改了 GitService 中的分支检测逻辑,当处于分离 HEAD 状态时返回空字符串而不是 'detached' 或 'unknown'
  • Shell 类中新增了 runWithExitCode 方法,用于执行 shell 命令并返回详细的执行结果(包括退出码)
  • UpdateChecker 类中改进了 npm 命令的执行方式,使用新添加的 runWithExitCode 方法进行更新操作,并根据退出码判断操作是否成功

变更原因

  • 提高应用程序在各种 Git 状态下的健壮性和错误处理能力
  • 改善 Git 分支操作的可靠性,特别是在处理远程分支和本地分支同步时
  • 增强对不同操作系统环境下命令执行的支持,特别是 Windows 系统下的 npm 命令执行
  • 提供更准确的命令执行状态反馈,便于调试和问题排查

测试方法

  • 在不同的 Git 状态下运行应用程序,包括正常的分支状态、分离 HEAD 状态以及没有远程分支的本地分支
  • 测试在有未暂存和已暂存更改的情况下进行分支切换的操作
  • 验证在不同操作系统环境下(特别是 Windows)的命令执行情况
  • 检查错误处理机制是否能正确捕获和处理各种异常情况

@github-actions

Copy link
Copy Markdown

📊 Performance Impact Analysis

Metric Base PR Difference Change %
Build Time (s) 3 2 -1 -33.33%
Package Size (bytes) 111464 112931 1467 1.31%
CLI Startup (ms) 761 861 100 13.14%

Analysis

  • Build Time: Faster by 1s
  • Package Size: Larger by 1467 bytes
  • CLI Startup: Slower by 100ms

@HeiSir2014
HeiSir2014 merged commit 25bb26c into master Sep 28, 2025
29 checks passed
@HeiSir2014
HeiSir2014 deleted the heisir/feat-improve-git-branch-detection-6e9b47 branch September 28, 2025 14:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant