目录
问题描述
新复制的项目具有特比多的提交记录我想给他清除,因为不清楚过多历史也就导致包特别大下载和提交等方面都不是很快
解决方案
查看代码clone网址;
打开远程仓库,选择要去除历史记代码分支(我的是dev) ---> 复制"Code"选项框下"HTTPS"网址。
我喜欢在idea执行,以下操作在git控制面板中执行也是一致的,打开idea,克隆此项目并切换到dev分支。然后在打开控制面板
除了通过上图idea右下角看目前处在哪个分支,如果你是git控制面板操作用 git status查看当前代码分支状态;
git branch -a查询当前处在哪个分支以及所有分支列表
git status
git branch -a
新建没有父节点的分支prod,并切换至新建分支;
git checkout --orphan prod
使用 --orphan 选项,可创建1个"清洁"分支(无任何的提交历史,这样创建的分支还不是一个真正的分支,因为HEAD指向的引用中没有commit值,只有在进行一次提交后,它才算得上真正的分支。)
添加当前目录的所有代码文件到暂存区;
git add .
提交暂存区代码到仓库区;
git commit -m "初次提交"
删除原来的主分支(dev),如果原来的替换删除记录的分支不是 dev, 用实际的主分支名代替。
git branch -D dev
把当前分支重命名为dev
git branch -m dev
最后把代码推送到远程仓库
有些仓库有 master 分支保护,不允许强制 push,需要在远程仓库项目里暂时把项目保护关掉才能推送。
git push -f origin dev
结果
可以看以前500多个提交现在只有一次了。good
------------------------------------------与正文内容无关------------------------------------
如果觉的文章写对各位读者老爷们有帮助的话,麻烦点赞加关注呗!小弟在这拜谢了!
如果您觉得我的文章在某些地方写的不尽人意或者写的不对,从而让你对你人生观产生颠覆(概不负责),需要斧正,麻烦在评论区不吝赐教,作者看到后会根据您的提示查阅文章进行修改,还这世间一个公理一片蓝天