赞
踩
新年新气象,趁着现在新的一年开始项目的事情还不是非常繁忙的时候,多整点下酒菜。这不实战类型的博客记录又开始了!当然实战类型的博客,肯定是有相关的实际需求才会诞生的,这里我们来简单复盘一下实际需求的诞生和由来!
场景一:
原来我们有一个私有的仓库不对外开放,当开发到一定程度的时候,希望对外开放,在准备开发前当然得检查一番不是,但是在检查的时候,我们误提交了某些隐私文件(肯定不是朋友们想的那种隐私了啊,莫多想。这里的隐私可能牵涉到密码啊,核心机密文件啊等鞥),也许朋友们会说可以使用git rm xxx删除啊,虽然删除了但是其实版本库中是有历史记录的,可以进行恢复的。那么就只能删除这些记录了,但是又不想删除仓库,重建来提交。那么就想办法删除历史记录了。我们当然不能直接删除.git文件夹,这将导致git存储库出现不可预知的问题。要删除所有提交历史记录,但将代码保持在当前状态,可以按照以下方式安全地执行此操作:
场景二:
把原有项目提交到git上,但是会有一些历史记录,这些历史记录中可能会有项目密码等敏感信息。如何删除这些历史记录,形成一个全新的仓库,并且保持代码不变呢?
好了,场景也说清楚了。是时候来直捣黄龙,解决上面相关场景的问题了。
前方高能预警,重要的事情说三篇,执行下面的相关操作以后,所有相关的git记录真的会没有了。所以朋友们一定要做好备份,
好了啥也不多说了,直接上花生米下酒菜,干起来!
这个没有啥好说的,直接操作即可
git checkout --orphan latest_branch
切到latest_branch分支后,添加所有的当前状态文件
git add -A
在当前分支提交更改
git commit -am "delte history git log,first commit"
删除本地分支
git branch -D master
git branch -m master
执行完上述的操作之后,我们就可以强制更新存储库并上传到远程仓库了
git push -f origin master
上述的相关操作,如果我们是托管在gitee或者其它git仓库的时候,可以直接使用上面提供的IDE进行相关的操作,也可以达到同样的目的。
好了今天的博客git删除相关历史提交记录,相关文件保持当前状态e就到这里了。总之,青山不改绿水长流先到这里了。如果本博客对你有所帮助,麻烦关注或者点个赞,如果觉得很烂也可以踩一脚!谢谢各位了!!
最后,也许会有朋友会问,为啥我会有这么个实战的需求呢,肯定不是空穴来风的,一定是有具体的需求要求这么做了。因为我现在公司飞腾,有关于Android的开源项目需要所以就有了这么一篇的博客出来。如果朋友们能读到这里并且对飞腾的Android项目感兴趣的话,欢迎点击飞腾Phytium Android 11 Device,就当借贵宝地宣传宣传了。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。