Git
GitbookKb2021-01-11
📑 git capacity
when speed/dowload issue, do the following:
$ git count-objects -vHwill return:
count: 262
size: 234.23 KiB
in-pack: 4687
packs: 1
size-pack: 373.69 MiB
prune-packable: 0
garbage: 0
size-garbage: 0 bytesif size-pack too large, do the following:
$ git filter-branch --prune-empty --index-filter 'git rm -rf --cached --ignore-unmatch doc/系统参考截图' --tag-name-filter cat -- --all
// $ git filter-branch --index-filter "git rm -rf --cached --ignore-unmatch doc/系统参考截图" HEAD
$ git filter-branch --index-filter 'git rm --cached --ignore-unmatch ./doc/' --tag-name-filter cat -- --all
$ rm -rf .git/refs/original/
$ rm -rf .git/refs/original/
$ git reflog expire --all
$ git gc --aggressive --prune
$ git push origin master --force
$ git push origin --force --allcheck by:
$ du -sh .git/objects/
$ git count-objects -vH执行上述步骤后,.git/objects/从 1G 减少到 370M,继续:
$ git verify-pack -v .git/objects/pack/pack-*.idx | sort -k 3 -g | tail -5
$ git rev-list --objects --all | grep 8f10eff91bb6aa2de1f5d096ee2e1687b0eab007
>
ee8acebd3177771690910fc94df619225dba6e99 client/yarn.lock
fcb6f5c7b70992963f74a0d0321f43f0a18734cb server/data/sample_data_olympic_winners.sql
fd8e2678673c06c1b255cda5260a123c244be822 client/package-lock.json
786ca706b8b52cee2b92350026b8e0457333ab75 doc/融单系统操作管理说明0805.docx
9e1db0df8948eccd699fc654fa4a6c0f489d2217 kb/imgs/bffe.png
$ git filter-branch --index-filter 'git rm --cached --ignore-unmatch server/data/sample_data_olympic_winners.sql'
$ rm -rf .git/refs/original/
$ git filter-branch --index-filter 'git rm --cached --ignore-unmatch doc/融单系统操作管理说明0805.docx'
$ rm -rf .git/refs/original/
$ git filter-branch --index-filter 'git rm --cached --ignore-unmatch kb/imgs/bffe.png'
$ rm -rf .git/refs/original/
$ git filter-branch --index-filter 'git rm --cached --ignore-unmatch client/package-lock.json'
$ 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 push --force origin master
$ git push origin --force --all
$ git count-objects -vH
count: 769
size: 416.16 MiB
in-pack: 5418
packs: 1
size-pack: 6.46 MiB现在的大小是 6M (本机)!4.49M (服务器)
我们的开发使用 Git + Bitbucket
开发时不要直接操作
master分支。
通常在自己分支下开发:
git checkout -b 开发分支
git add .
git commit -m""
git push origin 开发分支需要同步 master 分支时:
git fetch -a
git checkout master
git pull origin master
git checkout 开发分支
git rebase master需要比较,revert 提交的分支时:
$ gitk --reflog📑 LF will be replaced by CRLF
git config core.autocrlf true📑 从 tag 中恢复
比如,在 116 上快速恢复 tag2
git reset --hard tag2