【Git】清理.git文件夹中的大文件及.gitignore简单使用 | 您所在的位置:网站首页 › git文件颜色 › 【Git】清理.git文件夹中的大文件及.gitignore简单使用 |
清理.git文件夹斩草除根式 直接把根目录下面的.git文件夹删除,然后重建,简单粗暴,但如果需要git log历史记录的,请不要这样做 在本地仓库目录下删除根目录下的.git文件夹rm -r .git 或者 rm -rf .git删除之后,该目录就不是一个git仓库了,因此需要重建删除掉残留的.git文件在命令行中输入rm -rf + github仓库地址:rm -rf https://github.com/xxx/xxx.git在 github 的对应的库中到 setting 删除库。逐个攻破式经常在训练模型、编译或者项目需要的时候上传大文件,然后git add -A全都提交了,就导致.git的历史记录过大,即使删除了本地的文件,但是又不想丢掉重来,只能一个个删除 (强烈建议使用.gitignore文件,忽略不需要提交的目录和文件) 使用git branch-filter来遍历git history tree, 可以永久删除 history 中的大文件,达到让.git文件瘦身的目的。 下面给出步骤(以下步骤非常危险,操作需谨慎!) 首先找出git中前N大的文件:以前五为例git verify-pack -v .git/objects/pack/pack-*.idx | sort -k 3 -g | tail -5 执行的结果实际上是这样的: 第一行的字母其实相当于文件的id,用以下命令可以找出id 对应的文件名:git rev-list --objects --all | grep 8f10eff91bb6aa2de1f5d096ee2e1687b0eab007 最大的文件找到了。 查出文件提交commit记录git log --pretty=oneline --branches -- 删除文件遍历所有提交: commit多了会比较慢 git filter-branch -f --prune-empty --index-filter 'git rm -rf --cached --ignore-unmatch ' --tag-name-filter cat -- --all 指定commit修改git filter-branch -f --prune-empty --index-filter 'git rm -rf --cached --ignore-unmatch ' -- 回收内存rm -rf .git/refs/original/ git reflog expire --expire=now --all git fsck --full --unreachable git repack -A -d git gc --aggressive --prune=now 里面最重要的两条命令是 git filter-branch 和 gc, filter-branch 真正在清理,但是只运行它也是没用的,需要再删除备份的文件,重新打包之类的,最后的gc命令,用来收集产生的垃圾,最终清除大文件。 提交到远程仓库git push --force [remote] master .gitignore文件使用如果我们想某个文件保留在项目中,又不想它受到 Git 的跟踪管理,那我们可以使用文件 .gitignore 文件,我们只需要创建该文件,然后并添加到我们项目的根目录中,最后把你想要忽略(让 Git 不进行跟踪)的文件名称填写到该文件中就可以了。如果我们要忽略 C.md 我们可以将这行添加到 .gitignore 文件中。 github贴心的为我们准备了一整套模板: https://github.com/github/gitignore python template:https://github.com/github/gitignore/blob/master/Python.gitignore 简单梳理下语法规则: 如果只想忽略指定目录或文件,可以直接添加进去,每行一个 .gitignore支持正则匹配 空白行作为空格# : 将行标记为注释* : 与 0 个或多个字符匹配? :与 1 个字符匹配[abc] : - 与 a、b 或 c 匹配**: 与嵌套目录匹配,比如 a/**/z 与以下项匹配a/za/b/za/b/c/z!:取反举例: *.xml # 忽略所有 .xml 结尾的文件 !beans.xml # 忽略所有 .xml 结尾的文件,但是beans.xml除外 build/ # 忽略 build/ 目录下的所有文件 doc/*.txt # 会忽略 doc/y.txt 但不包括 doc/xx/zzzz.txt Ref: |
CopyRight 2018-2019 实验室设备网 版权所有 |