git-清空歷史提交記錄(保留原倉庫)

羊37發表於2024-06-22

0.備份

進行操作之前,一定一定要先備份,你直接copy專案資料夾也行。

1. 建立一個新的孤立分支

首先,建立一個新的孤立分支(沒有歷史記錄)

git checkout --orphan new-branch

--orphan 引數:

  • 孤立分支:使用 --orphan 建立的分支沒有任何父提交記錄,因此沒有任何歷史記錄。這使得它看起來像一個全新的初始提交。
  • 用途:這種方式常用於建立一個乾淨的開始,保留當前工作目錄的所有檔案,但清空了所有歷史記錄。

2. 新增所有檔案

新增所有檔案到新分支

git add .

3. 提交更改

提交這些更改

git commit -m "Initial commit with latest version of code"

4. 刪除舊的分支

刪除舊的主分支

git branch -D master

5. 重新命名新的分支為主分支

將新的孤立分支重新命名為主分支

git branch -m master

6. 強制推送到遠端儲存庫

最後,強制推送新的主分支到遠端儲存庫。

git push -f origin master

7.完整步驟總結

git checkout --orphan new-branch
git add .
git commit -m "Initial commit with latest version of code"
git branch -D master
git branch -m master
git push -f origin master

注意:強制推送 (-f 選項) 會覆蓋遠端儲存庫的歷史記錄。

這樣,新的主分支將只有一個提交記錄,該記錄包含當前程式碼庫的最新版本。

所有舊的提交記錄都將被清空。

相關文章