文章目錄
Git Force Push 後如何更新 Repository
在之前筆記 清除 Git Commit 紀錄 提到打算將開發時期的 commit history 都清除,來個重新開始,但在完成 repository 整理後,團隊其他人還是得繼續往下開發,在找不到共同的 parent commit 下,git pull
無法正確執行,今天就來紀錄一下該如何不重新 clone 而取得 repository 的更新內容
基本環境說明
- macOS Catalina 10.15.4
- git version 2.23.0
錯誤訊息
訊息內容
From https://gitlab.com/yowko/xunit.net.testgenerator_test a1c4acd...1caf56a master -> origin/master (forced update) [new tag] final -> final fatal: refusing to merge unrelated histories
錯誤截圖
解決方式
直接使用新版:
reset
推薦使用,流程比較簡單直覺
git reset origin/master --hard
將 local 的變更重新加至新 master 上:
rebase
需要手動調整 conflict
git rebase -i origin/master
心得
好一陣子沒有純粹使用 git cli 來操作,的確生疏不少,一部份原因是我個人無法捨棄 GUI 畫出來的 commit graph,雖然需要看的機會比想像的少得多,但最重要的主因還是不想記那麼多 git command,還要擔心下錯指令XD
參考資訊
文章作者 Yowko Tsai
上次更新 2020-12-11
授權合約
本部落格 (Yowko's Notes) 所有的文章內容(包含圖片),任何轉載行為,必須通知並獲本部落格作者 (Yowko Tsai) 的同意始得轉載,且轉載皆須註明出處與作者。
Yowko's Notes 由 Yowko Tsai 製作,以創用CC 姓名標示-非商業性-相同方式分享 3.0 台灣 授權條款 釋出。