{"meta":{"title":"GitHub의 대용량 파일 정보","intro":"GitHub 는 일반 Git 리포지토리에서 추적할 수 있는 파일의 크기를 제한합니다. 제한을 초과하는 파일을 추적하거나 제거하는 방법을 알아봅니다.","product":"리포지토리","breadcrumbs":[{"href":"/ko/repositories","title":"리포지토리"},{"href":"/ko/repositories/working-with-files","title":"파일 작업"},{"href":"/ko/repositories/working-with-files/managing-large-files","title":"대형 파일 관리"},{"href":"/ko/repositories/working-with-files/managing-large-files/about-large-files-on-github","title":"대용량 파일"}],"documentType":"article"},"body":"# GitHub의 대용량 파일 정보\n\nGitHub 는 일반 Git 리포지토리에서 추적할 수 있는 파일의 크기를 제한합니다. 제한을 초과하는 파일을 추적하거나 제거하는 방법을 알아봅니다.\n\n## GitHub의 크기 제한에 대한 정보\n\nGitHub는 모든 Git 리포지토리에 풍부한 스토리지를 제공하려고 하지만, 파일  및 리포지토리 크기.\n사용자의 성능과 안정성을 보장하기 위해 전체 리포지토리 상태의 신호를 적극적으로 모니터링합니다. 리포지토리 상태는 크기, 커밋 빈도, 콘텐츠 및 구조를 비롯한 다양한 상호 작용 요인의 함수입니다.\n\n### 파일 크기 제한\n\nGitHub 는 리포지토리에 허용되는 파일의 크기를 제한합니다. 보다 50MiB큰 파일을 추가하거나 업데이트하려고 하면 Git에서 경고가 표시됩니다. 변경 내용은 여전히 리포지토리에 성공적으로 푸시되지만 성능 영향을 최소화하기 위해 커밋을 제거하는 것이 좋습니다. 자세한 내용은 [리포지토리의 기록에서 파일 제거](#removing-files-from-a-repositorys-history)를 참조하세요.\n\n> \\[!NOTE]\n> 브라우저를 통해 리포지토리에 파일을 추가하는 경우, 파일의 크기는 25MiB보다 클 수 없습니다. 자세한 내용은 [리포지토리에 파일 추가](/ko/repositories/working-with-files/managing-files/adding-a-file-to-a-repository)을(를) 참조하세요.\n\nGitHub.보다 100MiB큰 파일을 차단합니다.\n\n이 제한을 초과하는 파일을 추적하려면 (Git 대용량 파일 스토리지)를 사용해야 Git LFS 합니다. 자세한 내용은 [Git 대용량 파일 저장소에 대하여](/ko/repositories/working-with-files/managing-large-files/about-git-large-file-storage)을(를) 참조하세요.\n\n리포지토리 내에 대용량 파일을 배포해야 하는 경우 파일을 추적하는 대신 릴리스 GitHub.com 를 만들 수 있습니다. 자세한 내용은 [큰 이진 파일 배포](#distributing-large-binaries)를 참조하세요.\n\nGit은 대용량 SQL 파일을 처리하도록 설계되지 않았습니다. 대규모 데이터베이스를 다른 개발자와 공유하려면 파일 공유 서비스를 사용하는 것이 좋습니다.\n\n### 리포지토리 크기 제한\n\n리포지토리는 작게 유지되고 이상적으로는 1GB 미만이며 5GB 미만을 사용하는 것이 좋습니다. 리포지토리가 작을수록 복제 속도가 빨라지고 작업 및 유지 관리가 더 쉬워집니다. 리포지토리가 인프라에 지나치게 영향을 주는 경우 수정 조치를 취하도록 요청하는 이메일을 GitHub 지원 받을 수 있습니다. 우리는 특히 많은 협력자가 있는 대규모 프로젝트에서 유연하게 작업하려고 노력하며 가능한 한 해결책을 찾기 위해 귀하와 협력할 것입니다. 리포지토리의 크기와 전반적인 상태를 효과적으로 관리하여 리포지토리가 인프라에 영향을 주지 않도록 방지할 수 있습니다.\n[\n`github/git-sizer`\n](https://github.com/github/git-sizer) 리포지토리에서 리포지토리 분석을 위한 조언과 도구를 찾을 수 있습니다.\n\n외부 종속성으로 인해 Git 리포지토리가 매우 커질 수 있습니다. 리포지토리에 외부 종속성이 채워지는 것을 방지하려면 패키지 관리자를 사용하는 것이 좋습니다. 공용 언어에 대한 인기 있는 패키지 관리자로는 [Bundler](http://bundler.io/), [Node의 패키지 관리자](http://npmjs.org/), [Maven](https://maven.apache.org/)이 있습니다. 이러한 패키지 관리자는 Git 리포지토리를 직접 사용할 수 있도록 지원하므로 미리 패키지된 원본이 필요하지 않습니다.\n\nGit은 백업 도구로 사용하도록 설계되지 않았습니다. 그러나 [Arq](https://www.arqbackup.com/), [Carbonite](http://www.carbonite.com/), [CrashPlan](https://www.crashplan.com/en-us/)과 같은 백업을 수행하도록 특별히 설계된 많은 솔루션이 있습니다.\n\n## 리포지토리의 기록에서 파일 제거\n\n> \\[!WARNING]\n> 이러한 절차는 컴퓨터의 GitHub.com 리포지토리에서 파일을 영구적으로 제거합니다. 파일이 중요한 경우 리포지토리 외부의 디렉터리에 로컬 백업 복사본을 만듭니다.\n\n### 가장 최근에 푸시되지 않은 커밋에 추가된 파일 제거\n\n파일이 가장 최근 커밋과 함께 추가되었으며 푸시 GitHub.com하지 않은 경우 파일을 삭제하고 커밋을 수정할 수 있습니다.\n\n1. <span class=\"platform-mac\">터미널</span><span class=\"platform-linux\">터미널</span><span class=\"platform-windows\">Git Bash</span>를 엽니다.\n\n2. 현재 작업 디렉터리를 로컬 리포지토리로 변경합니다.\n\n3. 파일을 제거하려면 `git rm --cached`를 입력합니다.\n\n   ```shell\n   $ git rm --cached GIANT_FILE\n   # Stage our giant file for removal, but leave it on disk\n   ```\n\n4. `--amend -CHEAD`를 사용하여 이 변경 내용을 커밋합니다.\n\n   ```shell\n   $ git commit --amend -CHEAD\n   # Amend the previous commit with your change\n   # Simply making a new commit won't work, as you need\n   # to remove the file from the unpushed history as well\n   ```\n\n5. 커밋을 GitHub.com에 푸시하십시오.\n\n   ```shell\n   $ git push\n   # Push our rewritten, smaller commit\n   ```\n\n### 이전 커밋에서 추가된 파일 제거\n\n이전 커밋에서 파일을 추가한 경우 리포지토리의 기록에서 파일을 제거해야 합니다.  리포지토리의 기록에서 파일을 제거하려면 `git filter-repo` 명령을 사용하는 것이 좋습니다. 자세한 내용은 [Removing sensitive data from a repository(리포지토리에서 중요한 데이터 제거)](/ko/authentication/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository)을(를) 참조하세요.\n\n> 또는 추가 도구를 설치하지 않으려는 경우 대화형 다시 지정을 사용하여 문제가 있는 커밋을 제거할 수 있습니다. 방법:\n>\n> * 해당 파일을 추가하거나 수정한 커밋을 알아야 합니다.\n> * 커밋은 하나의 브랜치에만 있어야 합니다.\n> * 커밋이 속한 단일 브랜치에는 해당 커밋(들)이 적용된 이후로 병합이 없어야 합니다.\n>\n> 대화형 리베이스에 대한 자세한 내용은 [명령줄에서 Git 리베이스 사용](/ko/get-started/using-git/using-git-rebase-on-the-command-line)을(를) 참조하세요.  필요한 조건을 충족하는지 확신이 없는 경우 대화형 리베이스를 사용하여 수정해야 합니다. `git filter-repo`.\n\n## 대용량 바이너리 파일 배포\n\n리포지토리 내에 대용량 파일을 배포해야 하는 경우 릴리스 GitHub.com를 만들 수 있습니다. 릴리스를 사용하면 다른 사용자가 사용할 수 있도록 소프트웨어, 릴리스 정보, 이진 파일에 대한 링크를 패키지할 수 있습니다. 자세한 정보는 [릴리스 정보](/ko/repositories/releasing-projects-on-github/about-releases)을(를) 참조하세요.\n\n릴리스에서 이진 파일의 총 크기 또는 파일을 배달하는 데 사용되는 대역폭은 제한하지 않습니다. 그러나 각 개별 파일은 계획에 대한 Git LFS 최대 파일 크기 제한보다 작아야 합니다.\n[Git 대용량 파일 저장소에 대하여](/ko/repositories/working-with-files/managing-large-files/about-git-large-file-storage)을(를) 참조하세요."}