자식을 정리하는 방법이 있습니까?
내 프로젝트가 모든 자식마다 점점 커지고있는 것처럼 보입니다 commit/push
. 내 자식 폴더를 정리하는 방법이 있습니까?
당신이 원하는 것이 확실하지 않습니다. 우선, 커밋 / 푸시 할 때마다 디렉토리는 추가 커밋을 각각 저장해야하기 때문에 조금 커질 것입니다.
그러나 git gc
"불필요한 파일을 정리하고 로컬 리포지토리를 최적화합니다"( 매뉴얼 페이지 ) 를 원할 것 입니다.
또 다른 관련 명령은 트리에서 추적되지 않은 파일을 삭제git clean
하는 것 입니다 ( manual page ).
운영:
git remote prune origin
에서 이미 제거 origin
되었지만 에서 로컬로 여전히 사용 가능한 모든 부실 추적 분기를 삭제합니다 remotes/origin
.
git gc --auto
' G arbage의 C의 ollection'- 실행 가사 작업 (찜질 개정 제거합니다은 / 액세스 개체를 풀어). --auto
플래그는 먼저 어떤 작업이 필요한지 여부를 결정하고, 그렇지 않으면 아무것도하지 않고 종료합니다.
커밋마다 git repo가 심각하게 커지는 시나리오 는 정기적으로 생성하는 바이너리 파일을 커밋하는 시나리오 입니다. 그들의 저장 공간은 텍스트 파일보다 효율적이지 않습니다 .
또 다른 당신이 내 파일의 거대한 숫자를 하나 하나 (A입니다 REPO 자식의 한계 (대신 여러 subrepos의) 서브 모듈로 관리 ).
git space에 대한 이 기사에서 AlBlue는 다음과 같이 언급합니다.
Git (및 Hg 및 기타 DVCS)은 (큰) 바이너리가 체크인 된 다음 삭제되는 문제로 어려움을 겪습니다. 현재 저장소가 아닌 경우에도 저장소에 표시되고 공간을 차지합니다. .
git repo에 큰 바이너리가 저장되어 있다면 다음을 고려할 수 있습니다.
- 이들 바이너리를 관리 하는 외부 저장소 .
- .git repo 크기 관리
- 시도하고 당신의 역사에서 해당 바이너리를 제거 하여
git filter-branch
(경고 : 당신은 이미 당신의 repo를 밀어 경우이 나쁜 역사를 다시 쓰는 것 등이 그것에서 가져온 경우)
예 git gc
, 자연스럽게 해결책입니다.
로컬-로컬 저장소를 삭제하고 다시 복제 할 수 있습니다.
그러나 여기에 더 중요한 것이 있습니다 ...
거대한 git & externals가 처리 될 때까지 기다리는 시간 (초)은 몇 분 동안 비효율적 인 시간으로 수집됩니다.
새로 만들기 (전체뿐만 아니라 지점) 처음부터 저장소 파일의 유일한 최신 버전을 포함하여, 자연스럽게 모든 역사를 잃어 버릴 것이다,
그러나 코드 세계에서 감상적이 될 때가 아닌 경우, 모든 커밋 또는 diff마다 5 년 동안의 코드 전체를 드래그하는 포인트가 없습니다. 그리운 향수를 느끼면 이전 git & externals를 어딘가에 저장할 수 있습니다 :]
그러나 어느 시점에서 당신은 정말로 따라 움직여야합니다 :]
당신의 팀은 당신을 감사합니다!
git clean -d -f -i
가장 좋은 방법입니다.
보다 통제 된 방식으로 청소하는 데 도움이됩니다.
-i
대화식을 나타냅니다.
이 명령을 실행하면 매우 위험하지만 모든 git 복구 / 백업 파일을 지우면 리포지토리가 축소됩니다.
git reflog expire --expire=now --all && git gc --prune=now --aggressive
git이 나쁜 명령에서 저장소를 복구하는 데 사용하는 모든 파일을 지 웁니다 (예 : 수행 한 경우 git reset --hard
일반적으로 손실 된 파일을 복구 할 수 있음). 그러나 명령을 git reset --hard
내리기 전에 git reflog expire...
모든 것을 잃어 버렸습니다. 이제 유일한 희망은 파일 시스템을 분석하고 지워지지 않은 파일이 재정의되지 않은 경우 복구하려고 시도하는 도구를 사용하는 것입니다.
그것이 축소되는지 알지 못하지만 실행 한 후에도 git clean
종종 수행 git repack -ad
하므로 팩 파일 수가 줄어 듭니다.
참고 URL : https://stackoverflow.com/questions/3119850/is-there-a-way-to-clean-up-git
'IT story' 카테고리의 다른 글
“잘못된 문자열 값”오류를 수정하는 방법? (0) | 2020.06.12 |
---|---|
Macports를 업데이트 할 수 없습니다 (Mac OS X Mavericks 사용) (0) | 2020.06.12 |
자식을 정리하는 방법이 있습니까? (0) | 2020.06.12 |
자식을 정리하는 방법이 있습니까? (0) | 2020.06.12 |
존재하는 경우 어떻게 업데이트하고 MySQL에없는 경우 삽입합니까 (일명 "upsert"또는 "merge")? (0) | 2020.06.11 |