[英]How can I clear all previous commits from git history?
我最近開始了一個新項目,並且在開始時做了很多實驗。 現在有一些新成員加入,我有一個想法,就是將git的歷史記錄抹掉,因為它們似乎毫無意義,瀏覽存儲庫的每個人都會感到困惑。
可能的解決方案是從頭開始建立新的存儲庫,但我希望重寫歷史記錄。
我需要的只是將master上的HEAD提交設置為第一個,並且僅在回購中提交。
如果要使用git rebase
,則可能對Git壁球整個分支-一線壁球命令感興趣 。
如果您有很多提交的歷史記錄,則git rebease
可能需要很長時間。 在這種情況下,您可以進行淺表克隆
git clone --depth 1 <REPO_URL>
比做
git commit --amend
為了創建一個包含最新更改的獨立提交,然后執行強制推送
git push -f
將所有不需要的提交壓入本地存儲庫中,然后使用--force
選項將它們推送到遠程存儲庫中。
如果您真的確定自己在做什么,則可以在第一次提交時進行交互式重新設置:
git rebase --interactive --root
並修正每個提交。 但是至少我建議在結帳之前先結帳另一個分支:
git checkout -b rebase
您可以使用創建新的根分支,而無需任何父提交
git checkout --orphan new-master
並使用以下命令將存儲庫狀態提交到該新分支
git add .
git commit
並使用將其推送到服務器
git push --force origin new-master:master
這將使舊歷史記錄無法在服務器上訪問,因此請謹慎使用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.