Skip to main content
설명서에 자주 업데이트를 게시하며 이 페이지의 번역이 계속 진행 중일 수 있습니다. 최신 정보는 영어 설명서를 참조하세요.

GitHub의 대용량 파일 정보

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

GitHub Enterprise Server의 크기 제한 정보

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

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

기본적으로 GitHub Enterprise Server는 100MB보다 큰 파일을 차단합니다. 그러나 사이트 관리자는 GitHub Enterprise Server 인스턴스에 대해 다른 제한을 구성할 수 있습니다. 자세한 내용은 “Git 푸시 제한 설정”을 참조하세요.

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

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

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

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

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

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

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

  1. Terminal(터미널)Terminal(터미널)Git Bash를 엽니다. 1. 현재 작업 디렉터리를 로컬 리포지토리로 변경합니다.
  2. 파일을 제거하려면 git rm --cached를 입력합니다.
    $ git rm --cached GIANT_FILE
    # Stage our giant file for removal, but leave it on disk
  3. --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
  4. GitHub Enterprise Server 인스턴스에 커밋 푸시:
    $ git push
    # Push our rewritten, smaller commit

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

이전 커밋에서 파일을 추가한 경우 리포지토리의 기록에서 파일을 제거해야 합니다. 리포지토리의 기록에서 파일을 제거하려면 BFG Repo-Cleaner 또는 git filter-branch 명령을 사용할 수 있습니다. 자세한 내용은 “리포지토리에서 중요한 데이터 제거”를 참조하세요.

큰 이진 파일 배포

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