需將 temp 分支代碼完全覆蓋 master,最簡潔方式:在 temp 上刪除 master 並重建。
# 1. 切換到 temp 分支
git checkout temp
# 2. 刪除本地 master 分支
git branch -D master
# 3. 基於當前 temp 重新創建 master
git checkout -b master
# 4. (可選) 刪除 temp 分支
git branch -d temp
# 5. 強制推送到遠程(謹慎!會重寫歷史)
git push origin master --force
# 或 git push origin +master
git checkout master
git merge -s ours temp # 保留 master 內容(不符合需求)
git merge -X theirs temp # 衝突時取 temp,但非衝突文件保留 master
不如刪除重建徹底。
--force 推送會重寫遠程歷史,團隊協作前必須溝通協調。git tag backup-master-before-force。刪除重建 master,乾淨利落完成分支覆蓋。