Git 清理无用Commit 和 Tags

因为自己手残导致Git库内添加一些奇怪的东西,还很占地方,于是就有了这篇文章。

Error:请谨慎对待每一次Commit

Git清理全部Commit

缺点就是你提交记录和文件历史全没了,但是简单高效粗暴~

#切换分支
git checkout --orphan latest_branch

#添加所有文件
git add -A

#提交分支
git commit -m "提交说明"

#删除主分支
git branch -D master

#重名当前分支为master(主分支)
git branch -m master

#提交到远程仓库(强制覆盖)
git push -f origin master

Git删除指定文件及其历史记录

Error:注意:文件路径千万不要以/开头!否则就不是相对路径了!
上条警告是来自于被舍友rm -rf /*的某人的悲鸣~
#删除指定文件及其历史记录
git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch <你要删除的文件路径(相对于项目根目录)>' --prune-empty --tag-name-filter cat -- --all

#强制提交repo到远程仓库
git push origin master --force --all

#强制提交Tags到远程仓
git push origin master --force --tags

#回收空间
rm -rf .git/refs/original/
git reflog expire --expire=now --all
git gc --prune=now
git gc --aggressive --prune=now

删除无用的Tags

#本地
git tag | grep "<你要删除的tag包含的关键字>" |xargs git tag -d

#远程
git show-ref --tag | grep "<你要删除的tag包含的关键字>"| awk '{print $2}'|xargs git push origin --delete

已有 14 条评论

  1. 模板BUG反馈:
    一直点击 返回顶部 按钮,页面上滚的同时,鼠标向下滚动,页面狂跳

    1. 目前在Chrome、Firefox、Firefox Developer、Edge,世界之窗均没有复现此情况。

    2. 主题自带的图片懒加载功能,在图片加载完毕后,可能会导致页面下移动,您可以考虑临时禁用此功能。

    3. 如果您方便的话,可以将此bug发生情况,截图/录屏,发送到邮箱:dingzd1995@gmail.com 么?

  2. 婷婷不是我 婷婷不是我

    再来个详细的Github加速教程呗,另外最近网站总是疯狂加载,也不知道加载啥呢

    1. GitHub本身就有CDN,如果想用自己的,请移步https://www.idzd.top/archives/1385/,当然阿里云oss托管也不贵,但是需要域名备案~

  3. 人生如逆旅,我亦是行人

  4. 主题很好看

  5. aixiu aixiu

    既然用了git add -A
    commit 时,为何又用了-a参数,直接-m就行了,-a就是多余的,除非你再次改动了一个已被追踪了的文件。否则,只需要用 git commit -m ""

    1. 多谢,已更正。

  6. 今天,又是爱婷婷的一天

  7. 又是爱婷婷的一年年 又是爱婷婷的一年年

    万人血书求赞赏码!这么良心的博主不开赞赏,天理难容啊!!!!

添加新评论

* 人工审核评论,通过后即可正常显示。《隐私政策》