Git 저장소 크기 찾기
내 Git 저장소의 크기를 찾는 간단한 방법은 무엇입니까?
그리고 내 말은du -h
내 저장소의 루트 디렉터리에 있습니다.무시된 파일이 많아서 전체 리포지토리 크기와 다릅니다.저장소 복제 시 전송되는 데이터 양을 알고 싶습니다.
git 1.8.3 이후(2013년 4월 22일):
"
git count-objects
학식이 있는"--human-readable
일명 "-H
다양한 큰 숫자를 표시하는 옵션Ki
/Mi
/GiB
필요에 따라 축척을 조정합니다.
그것은 그것과 결합될 수 있습니다.-v
잭 모리슨이 답변에서 언급한 옵션.
git gc
git count-objects -vH
(git gc
A-B-B의 답변에서 언급된 것처럼 중요합니다.)
또한 (1.8.3비트) 출력이 더 완전합니다.
"
git count-objects -v
개체 저장소에 남아 있는 임시 팩 파일 및 기타 쓰레기를 보고하는 방법을 배웠습니다.
UPDATE git 1.8.3은 대략적인 크기를 얻는 더 효율적인 방법을 소개했습니다.
git count-objects -vH
(@VonC의 답변 참조)
"완전한 크기"에 대한 다양한 아이디어에 대해 다음을 사용할 수 있습니다.
git bundle create tmp.bundle --all
du -sh tmp.bundle
닫기(정확하지는 않음:)
git gc
du -sh .git/
후자의 경우 다음과 같이 계산할 수 있습니다.
- 갈고리
- config(원격, 푸시 분기, 설정(스페이스, 병합, 별칭, 사용자 세부 정보 등)
- stats(원격 repo에서 로컬 분기로 stats를 가져올 수 있습니까?도 참조)
- rerere 캐시(상당히 증가할 수 있음)
- 리필로그
- 백업(필터링을 통한 백업 등) 및 기타 다양한 작업(기본 재배치, 이등분 등의 상태 확인)
git 명령어
git count-objects -v
Git 저장소의 크기에 대한 좋은 추정치를 제공합니다.-v 플래그가 없으면 압축 해제된 파일의 크기만 알 수 있습니다.이 명령은 $PATH에 없을 수도 있고, 추적해야 할 수도 있습니다(예: Ubuntu에서 /usr/lib/git-core/에서 찾았습니다).
Gitman 페이지에서:
-v, --복용
느슨한 개체 수와 사용된 디스크 공간 외에도 팩 내 개체 수, 팩 수, 이러한 팩에 사용된 디스크 공간, Git Frune-Pack을 실행하여 제거할 수 있는 개체 수를 보고합니다.
출력은 다음과 유사하게 표시됩니다.
count: 1910
size: 19764
in-pack: 41814
packs: 3
size-pack: 1066963
prune-packable: 1
garbage: 0
당신이 찾는 라인은size-pack
이는 패킹된 모든 커밋 개체의 크기 또는 새 복제 저장소에 대해 가능한 최소 크기입니다.
자세한 내용은 를 참조하십시오.에서--verbose
설정, 예제 출력은 (아래)입니다. 그Total size of files
큰 commitline에 합니다.크기 값을 합해야 합니다.
$ git-sizer --verbose Processing blobs: 1652370 Processing trees: 3396199 Processing commits: 722647 Matching commits to trees: 722647 Processing annotated tags: 534 Processing references: 539 | Name | Value | Level of concern | | ---------------------------- | --------- | ------------------------------ | | Overall repository size | | | | * Commits | | | | * Count | 723 k | * | | * Total size | 525 MiB | ** | | * Trees | | | | * Count | 3.40 M | ** | | * Total size | 9.00 GiB | **** | | * Total tree entries | 264 M | ***** | | * Blobs | | | | * Count | 1.65 M | * | | * Total size | 55.8 GiB | ***** | | * Annotated tags | | | | * Count | 534 | | | * References | | | | * Count | 539 | | | | | | | Biggest objects | | | | * Commits | | | | * Maximum size [1] | 72.7 KiB | * | | * Maximum parents [2] | 66 | ****** | | * Trees | | | | * Maximum entries [3] | 1.68 k | * | | * Blobs | | | | * Maximum size [4] | 13.5 MiB | * | | | | | | History structure | | | | * Maximum history depth | 136 k | | | * Maximum tag depth [5] | 1 | | | | | | | Biggest checkouts | | | | * Number of directories [6] | 4.38 k | ** | | * Maximum path depth [7] | 13 | * | | * Maximum path length [8] | 134 B | * | | * Number of files [9] | 62.3 k | * | | * Total size of files [9] | 747 MiB | | | * Number of symlinks [10] | 40 | | | * Number of submodules | 0 | | [1] 91cc53b0c78596a73fa708cceb7313e7168bb146 [2] 2cde51fbd0f310c8a2c5f977e665c0ac3945b46d [3] 4f86eed5893207aca2c2da86b35b38f2e1ec1fc8 (refs/heads/master:arch/arm/boot/dts) [4] a02b6794337286bc12c907c33d5d75537c240bd0 (refs/heads/master:drivers/gpu/drm/amd/include/asic_reg/vega10/NBIO/nbio_6_1_sh_mask.h) [5] 5dc01c595e6c6ec9ccda4f6f69c131c0dd945f8c (refs/tags/v2.6.11) [6] 1459754b9d9acc2ffac8525bed6691e15913c6e2 (589b754df3f37ca0a1f96fccde7f91c59266f38a^{tree}) [7] 78a269635e76ed927e17d7883f2d90313570fdbc (dae09011115133666e47c35673c0564b0a702db7^{tree}) [8] ce5f2e31d3bdc1186041fdfd27a5ac96e728f2c5 (refs/heads/master^{tree}) [9] 532bdadc08402b7a72a4b45a2e02e5c710b7d626 (e9ef1fe312b533592e39cddc1327463c30b0ed8d^{tree}) [10] f29a5ea76884ac37e1197bef1941f62fda3f7b99 (f5308d1b83eba20e69df5e0926ba7257c8dd9074^{tree})
BTW: 클론 크기를 최소화하려면 git clone의 --depth 1 매개 변수를 사용할 수 있습니다.
이 대답은 git 저장소를 github에 푸시한 경우에 적용됩니다.
계정 설정에서 각 리포지토리의 크기를 쉽게 찾을 수 있습니다.
git LFS를 사용하는 경우 git count-objects는 바이너리를 계산하지 않고 바이너리에 대한 포인터만 계산합니다.
LFS 파일이 아티팩트 저장소에서 관리되는 경우 REST API를 사용해야 합니다.
- 모든 검색 엔진에서 www.jfrog.com API 가져오기
- 스토리지 요약 정보 가져오기 확인
이렇게 하면 repo 기록에 있는 모든 파일의 전체 목록을 볼 수 있습니다.
git rev-list --objects --all | git cat-file --batch-check="%(objectsize) %(rest)" | cut -d" " -f1 | paste -s -d + - | bc
▁you▁can있습수를 대체할 수 있습니다.--all
나무 같은 느낌으로 (HEAD
,origin/master
등)을 사용하여 분기의 크기를 계산합니다.
저장소가 GitHub에 있는 경우 기본적으로 저장소 크기를 표시하는 오픈 소스 Android 앱 Octodroid를 사용할 수 있습니다.
예를 들어 mptcp 저장소를 사용하면 다음과 같습니다.
고지 사항:저는 옥토드로이드를 만들지 않았습니다.
언급URL : https://stackoverflow.com/questions/8185276/find-size-of-git-repository
'programing' 카테고리의 다른 글
iPhone 앱에 대한 Facebook 액세스 토큰 서버 측 검증 (0) | 2023.06.01 |
---|---|
SQL Server: 테이블이 단일 행을 포함하도록 제한하는 방법은 무엇입니까? (0) | 2023.06.01 |
Angular/Angular-CLI 및 Node.js에 대한 호환성 목록이 있습니까? (0) | 2023.06.01 |
Windows에서 'sudo' 명령을 실행하는 방법 (0) | 2023.06.01 |
올바른 @author 태그를 얻으려면 Eclipse에서 ${user}을(를) 어떻게 설정해야 합니까? (0) | 2023.05.27 |