当前位置:   article > 正文

.git文件夹过大_.git文件很大

.git文件很大

原因

在频繁增删改、commit之后,.git文件会出现过大的情况

这个时候需要彻底清理以前的历史版本(也就是说只保留当前版本,不可能再回滚了)

解决方法

1 工程迁移

中心思想就是创建一个新工程把现有代码拷贝过去

  1. 创建新的工程,拷贝现有代码
  2. git init创建新仓库
  3. git remote add origin url添加远程仓库地址
  4. git add . git commit -m "message"
  5. 强制更新存储库git push -f origin master

注意:一定是强制更新远程仓库的,因为原先的git记录都将不再,直接push是有冲突的

2 创建新分支

方法是首先建立一个分支,然后将master版本给删除,再将当前分支重命名为master,再强制push到远程仓库即可

  1. git checkout --orphan latest_branch
  2. 添加所有文件git add -A
  3. 提交更改git commit -m "commit message"
  4. 删除分支git branch -D master
  5. 将当前分支重命名git branch -m master
  6. 强制更新存储库git push -f origin master

就此完成。

3 删除历史记录

这里是修改.git文件夹中的内容

#!/bin/bash

COMM=`git verify-pack -v .git/objects/pack/pack-*.idx | sort -k 3 -g | tail -10 >1.txt`

for value in `cat 1.txt |awk '{print $1}'`
do
	git rev-list --objects --all | grep "${value}" >2.txt
	a=`cat 2.txt |awk '{print $2}'`
	git log --pretty=oneline --branches -- ${a}
	git filter-branch --index-filter "git rm --cached --ignore-unmatch ${a}" -- --all
	git push --force
	rm -Rf .git/refs/original
	rm -Rf .git/logs/
	git gc
	git prune
done

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

这个代码没有测试,不知道能不能成功,推荐方法1或者2

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号