HarmonyOS鸿蒙Next中Code Genius删除了我的全部代码

HarmonyOS鸿蒙Next中Code Genius删除了我的全部代码 让他帮我转换一个swift文件到arkTS,结果好像是搞什么git操作,然后把我所有的代码都删除了。过程里面好像执行了个什么git操作,然后报错了,有通知窗口,然后我就没太关注,结果后来我的代码就都没有了。 以后无法相信华为的产品质量了。我辛苦两个月转换的ios程序,结果这一下子就都没有了。 欲哭无泪啊,提醒一下大家,不要相信code genius。

cke_1533.png

cke_2377.png


更多关于HarmonyOS鸿蒙Next中Code Genius删除了我的全部代码的实战教程也可以访问 https://www.itying.com/category-93-b0.html

10 回复

JDK25中引入JDK-8370216的行为变化:https://bugs.openjdk.org/browse/JDK-8370216,建议使用DevEco Studio默认的JDK版本(JDK21版本),避免JDK25升级产生的行为变更,可以在系统环境变量里配置 JAVA_HOME = IDE安装目录\jbr\bin,或者删除环境变量中JDK25的配置,后续应该会修复。

更多关于HarmonyOS鸿蒙Next中Code Genius删除了我的全部代码的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


惨,但所有的ai都可能这样,之前cursor也出现过,

很悲惨。但是不能说cursor发生过,华为就应该发生。而且如果cursor发生过,华为更应该提前杜绝这类事情的发生。完全是产品质量把控不过关。

我意思是所有ai都会出现,因为它是自己生成的,只要训练时的参数有这些命令它就会生成,所以所有ai都不可能完全避免,但说不定以后有技术可以,

关键是连我本地的git都删除了。 我还没有远程git服务器呢。 华为的质量怎么能让人相信呢?

找HarmonyOS工作还需要会Flutter的哦,有需要Flutter教程的可以学学大地老师的教程,很不错,B站免费学的哦:https://www.bilibili.com/video/BV1S4411E7LY/?p=17

血的教训

好吧, 我又损失了一个项目的代码来重现这个错误,这个是测试项目,不过要code geniue做的事情都一样,就是将swift代码转换到arkTS,然后在转换过程中,执行了下面的编译命令之后,我的项目代码就没有了。

/Applications/DevEco-Studio.app/Contents/tools/node/bin/node /Applications/DevEco-Studio.app/Contents/tools/hvigor/bin/hvigorw.js --mode module -p product=default --parallel --incremental --daemon buildMode=debug assembleHap

然后可以通过附带的视频看到整个过程。

鸿蒙Next中Code Genius功能不会主动删除用户代码。该功能主要用于代码辅助生成和优化。出现代码丢失可能是由于IDE异常、项目配置问题或用户误操作导致。建议检查IDE日志文件,查看最近的项目操作记录,并确认是否启用了版本控制功能。

非常理解您代码丢失后的焦急与沮丧。从您描述的情况和截图来看,这确实是一个令人痛心的意外。

根据您提供的信息,问题很可能出在 Code Genius的“代码转换”功能与您本地Git仓库的交互环节,而不是一个单纯的删除操作。我们来分析一下关键点:

  1. 核心原因推测:Code Genius在进行Swift到ArkTS的转换时,很可能尝试执行了类似 git checkoutgit reset --hard 这样的Git命令,意图在某个临时分支或干净状态下进行代码生成。如果这个操作的目标路径错误(例如,意外地在您的主项目根目录执行),并且没有成功创建备份或遇到错误后回滚失败,就可能导致工作区的文件被Git用另一个状态(可能是空分支或初始提交)覆盖,造成“全部消失”的假象。

  2. 重要提示:代码很可能未被物理删除。Git是一个版本控制系统,它的设计目的就是防止数据丢失。所谓的“删除”大概率是工作目录的文件被替换为了仓库中的另一个版本(很可能是一个早期或空的版本)。您的历史提交极有可能仍然完整地保存在本地Git仓库中。

紧急恢复步骤(请立即尝试)

请勿在项目目录进行任何新的文件操作,并立即按顺序尝试以下Git命令来恢复代码:

  1. 检查Git状态:在项目根目录打开终端或命令行,输入:

    git status
    

    查看是否有未提交的更改被移除的提示。

  2. 尝试Git恢复

    • 首先尝试找回最近的提交:
      git reflog
      
      这会显示HEAD指针的所有变动记录。找到在Code Genius操作之前的那条记录(例如 HEAD@{1}HEAD@{2}),记下其哈希值(如 abc1234)。
    • 然后使用该哈希值重置您的工作区:
      git reset --hard abc1234
      
      (请将 abc1234 替换为您在reflog中找到的正确哈希值)
  3. 如果reflog不奏效,检查分支和悬空对象

    • 列出所有分支(包括远程分支):
      git branch -a
      
    • 尝试切换到您之前工作的分支:
      git checkout 您的分支名
      
    • 更深入地查找丢失的提交:
      git fsck --lost-found
      
      这会在 .git/lost-found 目录中列出所有悬空的对象(包括提交),有经验的开发者可以从中尝试恢复。

关于Code Genius与Git

Code Genius的代码转换功能在处理已关联Git仓库的项目时,其行为逻辑需要非常明确地告知用户它将进行何种Git操作,并提供明确的回滚或备份选项。当前的交互体验显然存在严重不足,未能防止用户数据被意外覆盖。

后续建议

  • 立即恢复:您的首要任务是使用上述Git命令尝试恢复代码。两个月的工作成果很可能就藏在Git历史里。
  • 版本控制习惯:无论使用何种开发工具,频繁提交(commit)并推送到远程仓库(如Gitee、GitHub) 是保障代码安全的最重要习惯。本地操作前确保有一个远程备份。
  • 功能反馈:在恢复代码后,可以通过DevEco IDE的官方反馈渠道,详细报告此问题。提供截图和描述,有助于开发团队优化Code Genius与Git集成的安全性和交互提示,避免其他开发者遇到同样的问题。

希望您能通过Git命令成功找回所有代码。数据无价,请优先进行恢复操作。

回到顶部