깃 폴더의 크기를 줄일 수 있는 방법이 있습니까?
내 프로젝트는 모든 기트에 따라 점점 더 커지는 것처럼 보입니다.commit/push
제 깃 폴더를 정리할 방법이 있나요?
뭘 원하는지 모르겠어요.우선, 각 추가 커밋을 저장해야 하기 때문에 커밋/푸시할 때마다 디렉터리가 약간 커집니다.
하지만, 아마도 당신은 원할 것입니다.git gc
불필요한 파일을 제거하고 로컬 리포지토리를 최적화합니다(수동 페이지).
관련이 있을 수 있는 또 다른 명령은 다음과 같습니다.git clean
트리에서 추적되지 않은 파일을 삭제합니다(수동 페이지).
실행:
git remote prune origin
에서 이미 제거된 오래된 추적 분기를 모두 삭제합니다.origin
하지만 여전히 로컬에서 사용할 수 있습니다.remotes/origin
.
git gc --auto
'가비지 컬렉션' - 하우스키핑 작업을 실행합니다(수정본 압축, 느슨하거나 액세스할 수 없는 개체 제거).그--auto
플래그는 먼저 작업이 필요한지 여부를 결정하고, 필요하지 않으면 아무것도 하지 않고 종료합니다.
네네,git gc
당연히 해결책입니다.
로컬 - 로컬 리포지토리를 삭제하고 다시 복제하면 됩니다.
하지만 여기서 더 중요한 것이 있습니다.
거대한 git과 외부가 처리될 때까지 대기하는 초수는 수집되는 긴 분 단위로, 수집되는 시간은 비효율적인 시간 단위로,
최신 버전의 파일만 포함하여 새로운 저장소(브랜치가 아닌 완전히)를 처음부터 생성하면 모든 기록이 자연스럽게 손실됩니다.
하지만 코드 세계에서 감상적이 될 때가 아닐 때, 커밋이나 디프마다 5년간의 코드 전체를 끌고 가는 것은 의미가 없습니다. 향수를 느낀다면 여전히 어딘가에 오래된 깃과 외부를 저장할 수 있습니다. :]
하지만, 어느 시점에서 당신은 정말로 움직여야 합니다 :]
당신의 팀은 당신에게 감사할 것입니다!
각 커밋에 따라 Git repo가 크게 증가하는 시나리오 중 하나는 정기적으로 생성하는 이진 파일을 커밋하는 시나리오입니다.저장 공간은 텍스트 파일보다 효율적이지 않습니다.
다른 하나는 여러 개의 하위 레포(하위 모듈로 관리됨)가 아닌 하나의 레포(git 제한) 내에 엄청난 수의 파일이 있는 경우입니다.
깃 스페이스에 관한 이 기사에서 AlBlue는 다음과 같이 언급합니다.
Git(및 Hg 및 기타 DVCS)는 최신이 아닐지라도 저장소에 표시되고 공간을 차지하기 때문에 (큰) 바이너리가 체크인된 후 삭제되는 문제로 어려움을 겪습니다.
Gitrepo에 대용량 이진 파일이 저장되어 있는 경우 다음을 고려할 수 있습니다.
- 외부 리포지토리에서 이러한 바이너리를 관리합니다.
- .git 저장소 크기 관리
- (경고: 이것은 당신이 이미 레포를 푸시하고 다른 사람들이 레포에서 철수한 경우 좋지 않은 기록을 다시 작성할 것입니다.
"Git(숫자 및 크기)의 파일 제한은 무엇입니까?"에서 언급했듯이, 보다 최근(2015년, 이 답변 이후 5년) GitHub의 Git LFS는 이러한 대용량 파일을 Git 저장소 외부에 저장하여 관리하는 방법입니다.
이 명령을 실행하는 것은 매우 위험하지만 Git 복구/백업 파일을 모두 지워서 저장소를 축소합니다.
git reflog expire --expire=now --all && git gc --prune=now --aggressive
예를 들어, 잘못된 명령에서 저장소를 복구하는 데 Git가 사용하는 모든 파일을 지운 경우git reset --hard
일반적으로 손실된 파일을 복구할 수 있습니다.하지만 만약 당신이git reset --hard
git reflog expire...
지휘부, 그러면 당신은 모든 것을 잃었습니다.이제 파일 시스템을 분석하는 도구를 사용하여 삭제된 파일이 재정의되지 않은 경우 해당 파일을 복구하는 것이 유일한 희망입니다.
git clean -d -f -i
그것을 하는 가장 좋은 방법입니다.
이렇게 하면 보다 통제된 방식으로 청소하는 데 도움이 됩니다.
-i
대화형을 나타냅니다.
줄어들지는 모르겠지만, 내가 도망친 후에.git clean
나는종을 합니다.git repack -ad
또한 팩 파일 수를 줄일 수 있습니다.
언급URL : https://stackoverflow.com/questions/3119850/is-there-a-way-to-reduce-the-size-of-the-git-folder
'source' 카테고리의 다른 글
클라이언트와 서버 간의 공유 유형 (0) | 2023.06.23 |
---|---|
마스터 분기와 개발 분기 간의 "git pull" 또는 "git merge" (0) | 2023.06.23 |
여러 값이 포함된 MySQL 열을 외부 키로 사용할 수 있습니까? (0) | 2023.06.23 |
오라클 테이블에 더 큰 크기의 데이터를 삽입/업데이트하는 방법은 무엇입니까? (0) | 2023.06.23 |
Linux에서 MariaDB/InnoDB가 DB 파일을 16KB 블록으로 읽는 이유는 무엇입니까? (0) | 2023.06.18 |