Post

OpenClaw v2026.5.7 升級回顧:cherry-pick 策略與 Commit 歷史取捨

OpenClaw v2026.5.7 升級回顧:cherry-pick 策略與 Commit 歷史取捨

這次升級的重點

v2026.5.6 → v2026.5.7 的升級過程中,遇到了 commit 數量與歷史取捨的問題。

官方這次有 76 個 commit,但我們選擇只 cherry-pick 必要的自定義修改,而非完整對齊。


為什麼跳過 76 個官方 commit?

當使用 cherry-pick 策略時,我們的目標是:

  1. 站在官方的穩定版本上
  2. 套用自己的自定義修改
  3. 不需要跟隨每一個官方 commit 的變動

這 76 個 commit 已經被官方整合進 v2026.5.7 的 release 中,所以它們的內容其實已經包含在我們的基礎版本裡。


實際執行的步驟

1. 建立備份

1
git branch backup/my-config-v2026.5.6

2. 創建新分支

1
git checkout -b my-config-v2026.5.7 v2026.5.7

3. Cherry-pick 自定義 commits

依序套用:

  • chore: upgrade to v2026.4.30 baseline and restore essential configs
  • docs: finalize v2026.5.2 upgrade and record official baseline strategy
  • chore: remove redundant official workflows
  • docs: update SOP to include mandatory workflow cleanup
  • docs: record v2026.5.6 upgrade retrospective
  • chore: stop tracking .env

4. 衝突處理

在刪除官方 workflows 時,遇到一個衝突:試圖刪除的 openclaw-release-publish.ymlplugin-clawhub-release.yml 已經被官方修改過。

解決方式:直接刪除這兩個檔案,保留我們刪除冗餘 workflows 的意圖。


清理後的 Workflows

只保留 docker-release.yml,其他 41 個官方 workflows 全部刪除。


關於 .env 的追蹤

這次遇到一個問題:在 baseline cherry-pick 時,.env 被加了進來,但後來又被移除。

這是因為我們的 baseline 包含了早期嘗試,而那些嘗試中 .env 是被追蹤的。

最終結論:.env 不應該被 Git 追蹤,應該保持在 .gitignore 中。


如何回滾

1
2
3
4
5
6
7
# 方式一:切換回舊分支
git checkout my-config-v2026.5.6

# 方式二:Reset 並強制推送
git checkout my-config-v2026.5.7
git reset --hard c5518c4868
git push --force origin my-config-v2026.5.7

數據統計

  • 官方 workflows 刪除:41 個
  • 保留:僅 docker-release.yml
  • 檔案變動:47 個檔案,+545 行,-16255 行

相關文章:

This post is licensed under CC BY 4.0 by the author.