Git 대용량 파일 스토리지 정보
Git 대용량 파일 스토리지(Git LFS)에서는 다른 텍스트 파일과 동일한 방식으로 대용량 파일로 작업할 수 있는 Git에 대한 오픈 소스 확장입니다. 단일 리포지토리, 모든 개인 또는 조직 리포지토리 또는 엔터프라이즈의 모든 리포지토리에서 Git 대용량 파일 스토리지를 사용할 수 있습니다. 특정 리포지토리 또는 조직에서 Git LFS를 사용하도록 설정하려면 먼저 엔터프라이즈에서 Git LFS를 사용하도록 설정해야 합니다.
기본적으로 Git 대용량 파일 스토리지 클라이언트는 Git 리포지토리를 호스트하는 동일한 서버에 큰 자산을 저장합니다. 에서 Git LFS를 사용하도록 설정하면 큰 자산이 /data/user/storage
의 데이터 파티션에 저장됩니다.
엔터프라이즈 또는 리포지토리에서 Git LFS를 사용하지 않도록 설정한 경우 사용자는 Git LFS 자산을 GitHub Enterprise Server에 푸시할 수 없습니다.
자세한 내용은 "Git Large File Storage 정보", "대형 파일 관리" 및 Git 대용량 파일 스토리지 프로젝트 사이트를 참조하세요.
엔터프라이즈의 Git 대용량 파일 스토리지 구성
-
GitHub Enterprise Server의 오른쪽 위 모서리에서 프로필 사진과 엔터프라이즈 설정을 차례로 클릭합니다.
-
엔터프라이즈 계정 사이드바에서 정책을 클릭합니다.
-
정책 아래에서 옵션을 클릭합니다.
-
“Git LFS 액세스”에서 드롭다운 메뉴를 선택하여 사용 또는 사용 안 함을 클릭합니다.
개별 리포지토리의 Git 대용량 파일 스토리지 구성
참고: 각 리포지토리는 해당 리포지토리를 소유하는 조직 또는 사용자로부터 기본 설정을 자동으로 상속합니다. 리포지토리의 소유자가 모든 리포지토리에 설정을 적용한 경우 기본 설정을 재정의할 수 없습니다.
- 페이지의 오른쪽 상단에 있는 GitHub Enterprise Server의 관리 계정에서 을 클릭합니다.
- “Site admin”(사이트 관리자) 페이지에 아직 없는 경우 왼쪽 상단에서 Site admin(사이트 관리자)을 클릭합니다.
- "사용자, 조직, 팀, 리포지토리, gist, 애플리케이션 검색"의 텍스트 필드에 리포지토리의 이름을 입력합니다. 필드 오른쪽에 있는 검색을 클릭합니다.
- "검색 결과 – 리포지토리"에서 리포지토리의 이름을 클릭합니다.
- 페이지의 오른쪽 위 모서리에서 관리자를 클릭합니다.
- 왼쪽 사이드바에서 관리자를 클릭합니다.
- "Git LFS" 섹션의 "Git LFS 액세스 설정/해제" 옆에 있는 사용 또는 사용 안 함을 클릭합니다.
사용자 계정 또는 조직이 소유한 모든 리포지토리의 Git 대용량 파일 스토리지 구성
- 페이지의 오른쪽 상단에 있는 GitHub Enterprise Server의 관리 계정에서 을 클릭합니다.
- “Site admin”(사이트 관리자) 페이지에 아직 없는 경우 왼쪽 상단에서 Site admin(사이트 관리자)을 클릭합니다.
- "사용자, 조직, 팀, 리포지토리, gist, 애플리케이션 검색"에서 텍스트 필드에 사용자 또는 조직의 이름을 입력합니다. 필드 오른쪽에 있는 검색을 클릭합니다.
- 검색 결과에서 사용자 또는 조직의 이름을 클릭합니다.
- 페이지의 오른쪽 위 모서리에서 관리자를 클릭합니다.
- 왼쪽 사이드바에서 관리자를 클릭합니다.
- "Git LFS" 섹션의 "Git LFS 액세스 설정/해제" 옆에 있는 사용 또는 사용 안 함을 클릭합니다.
타사 서버를 사용하도록 Git Large File Storage 구성
기본적으로 Git 대용량 파일 스토리지 클라이언트는 Git 리포지토리를 호스트하는 동일한 서버에 큰 자산을 저장합니다. 에서 Git LFS를 사용하도록 설정하면 큰 자산이 /data/user/storage
의 데이터 파티션에 저장됩니다.
엔터프라이즈 또는 리포지토리에서 Git LFS를 사용하지 않도록 설정한 경우 사용자는 Git LFS 자산을 GitHub Enterprise Server에 푸시할 수 없습니다.
-
GitHub Enterprise Server 인스턴스에서 Git LFS를 사용하지 않도록 설정합니다. 자세한 내용은 “엔터프라이즈의 Git 대용량 파일 스토리지 구성”을 참조하세요.
-
타사 서버를 가리키는 Git LFS 구성 파일을 만듭니다.
# Show default configuration $ git lfs env > git-lfs/1.1.0 (GitHub; darwin amd64; go 1.5.1; git 94d356c) > git version 2.7.4 (Apple Git-66) > Endpoint=https://GITHUB-ENTERPRISE-HOST/path/to/repo/info/lfs (auth=basic) # Create .lfsconfig that points to third party server. $ git config -f .lfsconfig remote.origin.lfsurl https://THIRD-PARTY-LFS-SERVER/path/to/repo $ git lfs env > git-lfs/1.1.0 (GitHub; darwin amd64; go 1.5.1; git 94d356c) > git version 2.7.4 (Apple Git-66) > Endpoint=https://THIRD-PARTY-LFS-SERVER/path/to/repo/info/lfs (auth=none) # Show the contents of .lfsconfig $ cat .lfsconfig [remote "origin"] lfsurl = https://THIRD-PARTY-LFS-SERVER/path/to/repo
-
각 사용자에 대해 동일한 Git LFS 구성을 유지하려면 사용자 지정
.lfsconfig
파일을 리포지토리에 커밋합니다.git add .lfsconfig git commit -m "Adding LFS config file"
-
기존 Git LFS 자산을 마이그레이션합니다. 자세한 내용은 “다른 Git 대용량 파일 스토리지 서버로 마이그레이션”을 참조하세요.
다른 Git Large File Storage 서버로 마이그레이션
다른 Git 대용량 파일 스토리지 서버로 마이그레이션하기 전에 타사 서버를 사용하도록 Git LFS를 구성해야 합니다. 자세한 내용은 “타사 서버를 사용하도록 Git 대용량 파일 스토리지 구성”을 참조하세요.
-
두 번째 원격을 사용하여 리포지토리를 구성합니다.
$ git remote add NEW-REMOTE https://NEW-REMOTE-HOSTNAME/path/to/repo $ git lfs env > git-lfs/1.1.0 (GitHub; darwin amd64; go 1.5.1; git 94d356c) > git version 2.7.4 (Apple Git-66) > Endpoint=https://GITHUB-ENTERPRISE-HOST/path/to/repo/info/lfs (auth=basic) > Endpoint (NEW-REMOTE)=https://NEW-REMOTE-HOSTNAME/path/to/repo/info/lfs (auth=none)
-
이전 원격에서 모든 개체를 가져옵니다.
$ git lfs fetch origin --all > Scanning for all objects ever referenced... > ✔ 16 objects found > Fetching objects... > Git LFS: (16 of 16 files) 48.71 MB / 48.85 MB
-
모든 개체를 새 원격에 푸시합니다.
$ git lfs push NEW-REMOTE --all > Scanning for all objects ever referenced... > ✔ 16 objects found > Pushing objects... > Git LFS: (16 of 16 files) 48.00 MB / 48.85 MB, 879.10 KB skipped