Skip to main content

Enterprise Server 3.15 은(는) 현재 릴리스 후보로 제공됩니다.

GitHub의 대용량 파일 정보

GitHub Enterprise Server은(는) 일반 Git 리포지토리에서 추적할 수 있는 파일의 크기를 제한합니다. 제한을 초과하는 파일을 추적하거나 제거하는 방법을 알아봅니다.

Platform navigation

GitHub Enterprise Server의 크기 제한 정보

GitHub Enterprise Server은(는) 파일 리포지토리 크기조정에 대한 크기 조정 및 권장 사항의 하드 제한이 있지만 모든 Git 리포지토리에 풍부한 스토리지를 제공하려고 합니다.

파일 크기 제한

GitHub Enterprise Server은(는) 리포지토리에 허용되는 파일의 크기를 제한합니다. 50MiB보다 큰 파일을 추가하거나 업데이트하려고 하면 Git에서 경고가 표시됩니다. 변경 내용은 여전히 리포지토리에 성공적으로 푸시되지만 성능 영향을 최소화하기 위해 커밋을 제거하는 것이 좋습니다. 자세한 내용은 “리포지토리의 기록에서 파일 제거”를 참조하세요.

참고: 브라우저를 통해 리포지토리에 파일을 추가하는 경우 파일은 25MiB보다 클 수 없습니다. 자세한 내용은 "리포지토리에 파일 추가"을(를) 참조하세요.

기본적으로 GitHub Enterprise Server은(는) 100MiB보다 큰 파일을 차단합니다. 그러나 사이트 관리자는 GitHub Enterprise Server 인스턴스에 대해 다른 제한을 구성할 수 있습니다. 자세한 정보는 "엔터프라이즈에서 리포지토리 관리 정책 적용"을(를) 참조하세요.

이 제한을 초과하는 파일을 추적하려면 Git 대용량 파일 스토리지(Git LFS)을(를) 사용해야 합니다. 자세한 내용은 "Git Large File Storage 정보"을(를) 참조하세요.

리포지토리 내에 큰 파일을 배포해야 하는 경우 파일을 추적하는 대신 GitHub Enterprise Server 인스턴스에 릴리스를 만들 수 있습니다. 자세한 내용은 “큰 이진 파일 배포”를 참조하세요.

Git은 대용량 SQL 파일을 처리하도록 설계되지 않았습니다. 대규모 데이터베이스를 다른 개발자와 공유하려면 파일 공유 서비스를 사용하는 것이 좋습니다.

리포지토리 크기 권장 사항

리포지토리는 작게 유지되고 이상적으로는 1GB 미만이며 5GB 미만을 사용하는 것이 좋습니다. 리포지토리가 작을수록 복제 속도가 빨라지고 작업 및 유지 관리가 더 쉬워집니다.

리포지토리의 크기와 전반적인 상태를 효과적으로 관리하여 리포지토리가 인프라에 영향을 주지 않도록 방지할 수 있습니다. github/git-sizer 리포지토리에서 리포지토리 분석을 위한 조언과 도구를 찾을 수 있습니다.

리포지토리의 기록에서 파일 제거

경고: 이러한 절차는 컴퓨터의 리포지토리에서 파일을 영구적으로 제거하고 GitHub Enterprise Server 인스턴스입니다. 파일이 중요한 경우 리포지토리 외부의 디렉터리에 로컬 백업 복사본을 만듭니다.

가장 최근에 푸시되지 않은 커밋에 추가된 파일 제거

파일이 가장 최근 커밋과 함께 추가되었으며 GitHub Enterprise Server 인스턴스에 푸시하지 않은 경우 파일을 삭제하고 커밋을 수정할 수 있습니다.

  1. Terminal(터미널)Terminal(터미널)Git Bash를 엽니다.

  2. 현재 작업 디렉터리를 로컬 리포지토리로 변경합니다.

  3. 파일을 제거하려면 git rm --cached를 입력합니다.

    $ git rm --cached GIANT_FILE
    # Stage our giant file for removal, but leave it on disk
    
  4. --amend -CHEAD를 사용하여 이 변경 내용을 커밋합니다.

    $ git commit --amend -CHEAD
    # Amend the previous commit with your change
    # Simply making a new commit won't work, as you need
    # to remove the file from the unpushed history as well
    
  5. GitHub Enterprise Server 인스턴스에 커밋을 푸시합니다.

    $ git push
    # Push our rewritten, smaller commit
    

이전 커밋에서 추가된 파일 제거

이전 커밋에서 파일을 추가한 경우 리포지토리의 기록에서 파일을 제거해야 합니다. 리포지토리의 기록에서 파일을 제거하려면 BFG Repo-Cleaner 또는 git filter-repo 명령을 사용할 수 있습니다. 자세한 정보는 "Removing sensitive data from a repository(리포지토리에서 중요한 데이터 제거)"을(를) 참조하세요.

큰 이진 파일 배포

리포지토리 내에 큰 파일을 배포해야 하는 경우 GitHub Enterprise Server 인스턴스에 릴리스를 만들 수 있습니다. 릴리스를 사용하면 다른 사용자가 사용할 수 있도록 소프트웨어, 릴리스 정보, 이진 파일에 대한 링크를 패키지할 수 있습니다. 자세한 정보는 "릴리스 정보"을(를) 참조하세요.