git:清除所有历史提交记录,保留文件为新库(不建议)

发布时间 2023-10-30 16:06:57作者: 武平宁
# 清理前查看
git log                                                                                                                                                              
git rev-list --objects --all                                                                                                                                         

# 创建新分支,保留文件                                                                                                                                                                     
git checkout --orphan new                                                                                                                                            
git add .                                                                                                                                                                                                                                                                                                                      
git commit -m "new"                                                                                                                                                  

# 删除原来 master 分支
git branch -D master                                                                                                                                                 

# 将新分支重命名为 master                                                                                                                                        
git branch -m master

# 覆盖远程分支                                                                                                                                               
git push -f origin master

# 重新 pull                                                                                                                                         
git branch --set-upstream-to=origin/master master                                                                                                                    
git pull

# 清理后查看
git log                                                                                                                                                              
git rev-list --objects --all