Gitlab 删除 commit 历史

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

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. 如果强制推送失败,需要删除分支的保护

  1. 进入 Gitlab 项目
  2. 选择 Settings
  3. 选择 Repository
  4. Protected BranchesExpand 中打开
  5. 在下面选择需要解除保护的分支,点击 Unprotect

删除 Gitlab 分支保护

注意:推送成功后,可以重新增加对该分支的保护!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值