文章目录
Gitlab 删除 commit 历史
方法一
1. 删除所有的历史(请确保你有备份,此操作不可逆)
rm -rf .git/
2. 基于当前的内容重建 Git 仓库
git init
git add .
git commit -m "Initial commit"
3. 推送到 Gitlab
git remote add origin <gitlab-uri>
git push -u --force origin master
方法二
1. 新建“孤儿”分支
新建一个没有父节点的孤儿分支(orphan)
git checkout --orphan branch zone_branch
2. 添加所有文件
git add -A
3. 提交修改
git commit -am "Initial commit"
4. 删除 master 分支
git branch -D master
5. 重命名当前分支为 master
git branch -m master
6. 最后,强制更新你的仓库
git push -f origin master
推送失败处理方法
1. 如果强制推送失败,需要删除分支的保护
- 进入 Gitlab 项目
- 选择 Settings
- 选择 Repository
- 在 Protected Branches 的 Expand 中打开
- 在下面选择需要解除保护的分支,点击 Unprotect

注意:推送成功后,可以重新增加对该分支的保护!
本文介绍了两种在 Gitlab 中删除 commit 历史的方法,包括完全删除历史并重建仓库,以及通过创建孤儿分支、修改提交后替换 master 分支。同时,还提供了推送失败时解除分支保护的处理步骤。

824

被折叠的 条评论
为什么被折叠?



