抱歉,您的瀏覽器無法訪問本站
本頁面需要瀏覽器支持(啟用)JavaScript
了解詳情 >

最近一直忙於工作,很久沒有維護網站了。今天檢查更新時發現很多依賴項都有了新版本,因此記錄下這次更新維護的過程。

我的項目基於 volantis-x/hexo-theme-volantis 的 Fork。首先,我將其 Fork 到自己的 GitHub 倉庫,並將其 Clone 到項目的 themes/volantis 文件夾中,作為整個項目的子模組(在 .gitmodules 中進行了配置)。這個子模組包含了我自訂的配置,現在我既想保留這些修改,又希望能夠同步上游倉庫的最新版本。

🔄 完整更新流程

1️⃣ 在子模組中同步上游更新

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 進入子模組目錄
cd themes/volantis

# 添加上游倉庫連結
git remote add upstream https://github.com/volantis-x/hexo-theme-volantis

# 驗證,此時會顯示origin和upstream連結
git remote -v

# 檢查當前狀態,確保沒有未提交的更改
git status

# 獲取上游倉庫的最新內容
git fetch upstream

# 合併上游的 7.x 分支到當前分支
git merge upstream/7.x

⚠️ 注意

  • 如果合並沒有衝突,Git 會自動創建合併提交。
  • 如果有衝突,需要手動解決後執行以下命令:
1
2
git add .
git commit -m "解決合併衝突"

2️⃣ 更新分支名稱(從 6.0 改為 7.x)

1
2
3
4
5
6
7
8
9
10
11
# 確保當前在 6.0 分支
git checkout 6.0

# 重命名分支為 7.x
git branch -m 7.x

# 推送新分支到遠程並設置上游
git push origin -u 7.x

# (可選)刪除遠程的舊分支
git push origin --delete 6.0

3️⃣ 在主項目中記錄子模組更新

1
2
3
4
5
6
7
8
9
10
11
# 返回主項目根目錄
cd ../..

# 添加子模組的更新
git add themes/volantis

# 提交子模組版本更新
git commit -m "更新 volantis 子模組到 7.x 版本"

# 推送到主項目倉庫
git push

🔑 關鍵要點

  1. 🔒 分支安全:刪除舊的 6.0 分支不會影響 7.x 分支的提交歷史,因為 Git 分支只是指向提交的指針。

  2. 🧪 測試建議:在刪除舊分支前,先確認新版本工作正常。可以透過創建備份標籤來實現:

    1
    2
    git tag backup-6.0-final 6.0
    git push origin backup-6.0-final
  3. ⚔️ 衝突處理:如果合併時遇到衝突,仔細檢查衝突文件中的 <<<<<<<=======>>>>>>> 標記,選擇保留適合的代碼。

評論



Powered by Hexo | Theme keep Volantis

本站總訪問量 總訪客數 🌎