当前位置: 首页 > news >正文

海南房地产网站幸福人寿保险公司官方网站保单查询

海南房地产网站,幸福人寿保险公司官方网站保单查询,惠城网站设计,怎么做辅助发卡网站目录 一、问题背景二、问题复现2.1 新建项目2.2 上传大文件2.3 上传结果 三、解决方案3.1 GitLab备份与还原1#xff09;备份2#xff09;还原 3.2 删除方式一#xff1a;git filter-repo 命令【推荐】1#xff09;安装2#xff09;删除本地仓库文件3#xff09;重新关联… 目录 一、问题背景二、问题复现2.1 新建项目2.2 上传大文件2.3 上传结果 三、解决方案3.1 GitLab备份与还原1备份2还原 3.2 删除方式一git filter-repo 命令【推荐】1安装2删除本地仓库文件3重新关联远程仓库4删除远程仓库文件4clean up 清理远程仓库 3.3 删除方式二git branch-filter 命令【不推荐】1删除本地仓库文件2删除远程仓库文件3重新 repack 远程分支到本地 一、问题背景 由于项目在打 Docker 包的时候需要将前端的包也打到 Docker 容器中所以将前端包和前端的 Dockerfile 文件都放在了后端的 Git 目录下。 久而久之由于前端包的更新迭代Git 上面会一直保留前端包的历史版本所以整个后端的 .git 越来越大截至目前已经有 2.44G 了。每次有新的小伙伴加入 git 后都需要花很长时间来拉取代码苦不堪言而且 Jenkins 上面新建项目的拉取也会超时。 二、问题复现 2.1 新建项目 在 GitLab 上新建一个项目 my-test。 我们可以看到新建好的项目默认只有 20KB。 2.2 上传大文件 执行命令将项目克隆到本地 git clone http://xxxx/xxx/xxx.git此时.git 文件夹大小为 30.7KB。 为了更加全面地测试我们创建两个分支并且分别上传文件。 分支、文件结构对应关系如下 dev-test1 分支 | - pdf 文件夹 ​ | - test_1.pdf 文件12.8MB ​ | - test_2.pdf 文件12.8MB dev-test2 分支 | - pdf 文件夹 ​ | - test_1.pdf 文件12.8MB ​ | - test_2.pdf 文件12.8MB 相关命令如下 # 创建dev-test1分支 git checkout -b dev-test1 git add -A . git commit -m update test1 git push origin dev-test1# 创建dev-test2分支 git checkout -b dev-test2 git add -A . git commit -m update test2 git push origin dev-test22.3 上传结果 将大文件上传到 GitLab 后仓库的大小如下 .git11.2MB GitLab11.3MB 三、解决方案 注意操作前要保证是最新版本。 3.1 GitLab备份与还原 1备份 在操作之前我们要先备份 GitbLab 中的项目。最简单的方式就是直接将项目导出来。 在 GitLab 上打开项目进入菜单 Settings - General - Advanced点击 Expand 打开折叠。 点击 Export project。 可以看到提示这个导出是一个异步的操作当导出完毕之后会将通知发送到邮箱。 邮件中会有一个下载链接点击链接下载保存24小时。 下载后文件如下文件名格式为日期_时分秒_用户名_项目名.tar.gz 2还原 点击首页的 New project。 选择 Import project。 选择 GitLab export。 输入项目名称选择我们之前导出的 .tar.gz 文件点击 Import project。 还原完毕分支和大小都在。 3.2 删除方式一git filter-repo 命令【推荐】 git-filter-repo 官网 https://github.com/newren/git-filter-repopython 官网 https://www.python.org/ 注意git-filter-repo 工具需要依赖 Git 和 Python。 1安装 # 安装pip是Python自带的安装工具 pip install git-filter-repo # 查看版本 git-filter-repo --version执行结果 注意git-filter-repo 需要在一个刚刚 clone 下来的仓库中进行操作否则会操作失败。 Aborting: Refusing to destructively overwrite repo history since this does not look like a fresh clone. (expected at most one entry in the reflog for HEAD) Please operate on a fresh clone instead. If you want to proceed anyway, use --force. 2删除本地仓库文件 git clone 到本地后立即执行如下命令 不要做切换分支等操作否则会报错删除重新克隆才行。 # 模糊匹配删除所有pdf文件会同时删除pdf文件夹 git filter-repo --path-glob *.pdf --invert-paths# 补充精确匹配仅删除pdf/test_1.pdf git filter-repo --path-glob pdf/test_1.pdf --invert-paths执行结果如下 git filter-repo 命令本身是用来将处理后的本地仓库重新推送到新的远程仓库用的所以执行命令之后查看 .git/config 配置文件里面远程仓库的内容都被清空了 执行之后查看本地 .git 文件夹大小从 11.2MB 直降至 32.8KB。 3重新关联远程仓库 重新关联远程仓库的命令如下 git remote add origin https://git.xxx.cn/acgkaka/my-test.git4删除远程仓库文件 执行如下命令将本地仓库的改动强制推送到远程仓库即可。 git push --force origin --all执行结果如下 此时GitLab 的远程仓库大小还是 11.2 MB并无效果别担心还有最后一步操作。 4clean up 清理远程仓库 做完上面的操作之后等待半小时是的等待30分钟因为 GitLab 不会清理半小时内提交的文件。 在 GitLab 上打开项目进入菜单 Settings - Repository - Repository cleanup点击 Expand 打开折叠。 在使用 clean up 时需要提交一个文件这个文件就是文件根目录下的 .git/filter-repo/commit-map。 可以看到提示这个导出是一个异步的操作当cleanup完毕之后会将通知发送到邮箱。 邮件中会说明 cleanup 后的仓库大小为 0.1MB。 再去 GitLab 查看远程仓库大小从 11.3MB 直降至 51KB瘦身成功。 经验证这种方式删除掉的历史文件即使有其他成员的本地仓库有未提交的版本需要复制出来删除本地仓库重新克隆后再粘贴提交。 3.3 删除方式二git branch-filter 命令【不推荐】 注意 目前经过尝试发现 git branch-filter 虽然可以删除分支中的文件历史、提交记录但是并不会减少 GitLab 中远程仓库的大小。 1删除本地仓库文件 可以直接操作删除所有分支的文件但是要注意必须保证所有分支都是最新代码才行。 也可以切换到具体分支执行 git pull 拉取最新代码后再进行删除只要去除后面的 -- --all即可。 # 模糊匹配删除所有pdf文件会同时删除pdf文件夹 git filter-branch --force --index-filter git rm --cached --ignore-unmatch *.pdf --prune-empty --tag-name-filter cat -- --all# 补充精确匹配仅删除pdf/test_1.pdf git filter-branch --force --index-filter git rm --cached --ignore-unmatch pdf/test_1.pdf --prune-empty --tag-name-filter cat -- --all执行结果如下可以看到 dev-test1 和 dev-test2 分支被重写了。 2删除远程仓库文件 执行如下命令将本地仓库的改动强制推送到远程仓库即可。 # 推送本地所有分支到远程 git push --force --all执行结果如下可以看到 dev-test1 和 dev-test2 分支被强制更新了。 我们可以去 GitLab 上面看下提交记录如果之前的提交只涉及被删除文件的话对应提交记录就会被清空如果提交中除了被删除文件之外还包含其他文件那么提交记录和其他文件都会被保留不受影响。 3重新 repack 远程分支到本地 执行如下命令删除 refs/original 文件夹并重新更新远程仓库到本地。 git for-each-ref --formatdelete %(refname) refs/original | git update-ref --stdin git reflog expire --expirenow --all git gc --prunenow执行之后查看本地 .git 文件夹大小从 11.2MB 直降至 32KB。 再次声明这种方式虽然可以删除分支中的文件历史、提交记录但是并不会减少 GitLab 中远程仓库的大小。远程仓库大小依然为 11.3MB。有大佬知道后面怎么处理的欢迎评论补充 整理完毕完结撒花~ 参考地址 1.使用 git-filter-repo 清理 git 历史记录https://nyakku.moe/posts/2020/06/12/use-git-filter-repo-clean-git-history.html 2.利用git-filter-repo无缝迁移git项目https://zhuanlan.zhihu.com/p/465078705 3.git: 如何减少.git文件的大小https://blog.csdn.net/LOI_QER/article/details/107911115 4…git文件过大github仓库瘦身https://blog.csdn.net/luchengtao11/article/details/82531044 5.从Git仓库GitLab中彻底去除大文件https://zhuanlan.zhihu.com/p/589903338
http://www.zqtcl.cn/news/623356/

相关文章:

  • 徐州免费网站制作怎么用阿里云服务器搭建wordpress
  • php猎奇源码 织梦新闻视频图片八卦娱乐趣事资讯门户网站模板html代码表格
  • 南通做网站优化哪家好网页策划书 网站建设定位
  • 防止访问网站文件夹绵阳 网站设计
  • 网页与网站的区别是什么东莞网站公司排名
  • 盐城市城乡和住房建设厅网站wordpress文章订阅
  • 济南网站优化wordpress文件上传到那个文件
  • 外贸网站租用外国服务器好还是自己装一个服务器好高质量外链网站
  • 珠海专门做网站成都到西安
  • 网站做1920px好吗长沙seo优化排名
  • 哈尔滨微信网站开发wordpress 视
  • wordpress 分享封面图片尺寸重庆官网优化乐育公司
  • dede手机网站更新受欢迎的昆明网站建设
  • 网站设计外包合同专做自驾游的网站
  • 网站建设服务预算游戏网站怎么赚钱
  • 怎么做网站关键词视频手机网页前端开发
  • 好网站具备条件网站建设外链
  • 青岛如何建立企业网站企业中国数据域名注册
  • 怎么看网站做的好不好南京h5 网站建设
  • 贵阳微信网站制作下列哪一项不属于电子商务网站建设
  • 有没有做电子名片的网站网络广告怎么投放
  • 网站开发要用cms教育网站制作价格
  • 深圳华鑫峰网站建设wordpress 关闭新闻
  • 韩国网站加速器南宁做网站seo
  • 义乌网站建设公司书生商友小程序自己制作流程
  • 株洲企业网站建设费用python mysql开发网站开发
  • 东航集团客户网站是哪家公司建设网站开发软件开发
  • 淮安企业网站制作科技公司办公室设计
  • 东莞企石网站设计手机能制作网站吗
  • 大连网站建设选高合科技广州开发区人才工作集团有限公司