[Github]#1. LFS(Large File Storage)

2024. 4. 1. 15:53· Github
목차
  1. #1. 개념
  2. #2. 활용
  3. 1. 설치
  4. 2. LFS 트래킹 파일들을 Git으로부터 Unstaging
  5. 3. LFS 트래킹
  6. 4. Push

 

#1. 개념

 

GitHub의 LFS는 대용량 파일을 효율적으로 관리할 수 있도록 설계된 오픈소스 확장 기능입니다. 대용량 파일을 직접 Git 저장소에 포함시키는 대신, LFS는 이러한 파일들을 참조하는 포인터 파일을 저장소에서 관리하고, 실제 파일은 별도의 서버에 저장합니다. 이러한 방식을 통해 LFS는 저장소의 크기를 효율적으로 활 요하며, 성능을 최적화합니다.

 


 

#2. 활용

 

1. 설치

 

 

Git Large File Storage

Git Large File Storage (LFS) replaces large files such as audio samples, videos, datasets, and graphics with text pointers inside Git, while storing the file contents on a remote server like GitHub.com or GitHub Enterprise.

git-lfs.com

 

2. LFS 트래킹 파일들을 Git으로부터 Unstaging

 

git rm -r --cached <파일명>

or

git rm -r --cached <파일명>


// 예제 : git rm -r --cached ./Content/Assets (.git 파일이 위치한 파일 내 Content 폴더의 Assets 파일)

 

"git rm <파일명>" 대신 "git rm --cached <파일명>"를 활용해 원격 저장소에서만 해당 파일 혹은 파일 경로를 삭제합니다. 로컬에서 해당 파일을 삭제하지 않고 남겨두어 별도의 .gitignore 파일 수정 등의 작업을 통해 해당 파일 혹은 파일 경로가 원격 저장소에 올라가는 것을 방지하기 위함입니다. LFS 활용 시 해당 작업은 필수적입니다. 왜냐하면, Git이 '대용량 파일 혹은 대용량 파일들이 속해 있는 상위 파일'을 트래킹 하지 못하게 만들고, LFS가 해당 파일 혹은 경로를 트래킹 하도록 설정하기 위함입니다.

 

3. LFS 트래킹

 

git lfs track "<파일명>"

// 예제 : git lfs track "./Content/Assets/**" (와일드 카드(*) 활용이 중요)

 

"git lfs track "<파일명>"을 통해 대용량 파일 혹은 파일 경로를 LFS가 트래킹하도록 설정해 줍니다. 해당 작업의 결과물로 ". gitattributes" 텍스트 파일이 생성됩니다. 이때, '*' 와일드카드 사용이 중요하며, 파일 뒤에 오는 와일드카드를 통해 해당 파일의 하위 계층에 존재하는 모든 파일 혹은 파일 경로들을 트래킹 하겠다는 의미입니다. 

 

4. Push

 

git add .
git commit -m "<커밋내용>"
git push <원격저장소_이름> <로컬브랜치_이름>

 

일반적으로 코드를 원격 저장소에 push하는 작업들을 수행해 주면, "LFS Objects ~~" 로그가 출력되며 정상적으로 대용량 파일 Push가 가능해집니다!

 


 

 

 

 

저작자표시 (새창열림)
  1. #1. 개념
  2. #2. 활용
  3. 1. 설치
  4. 2. LFS 트래킹 파일들을 Git으로부터 Unstaging
  5. 3. LFS 트래킹
  6. 4. Push
Hardii2
Hardii2
Hardii2
개발 블로그
Hardii2
전체
오늘
어제
  • 분류 전체보기
    • 알고리즘
    • 웹 개발
      • Node.js
      • React
    • 게임개발
      • DirectX12
      • 관련 지식
      • Unreal C++
      • Unreal 블루프린트
    • 언어
      • Effective C++
      • Basic C++
      • 디자인 패턴
      • 자료구조
      • 기술 질문
    • 문제 풀이
      • BOJ 문제 풀이
      • Programmers 문제 풀이
      • geeksForgeeks 문제 풀이
    • 수학
      • 확률과 통계
      • 게임수학
    • 개인프로젝트
    • 그룹프로젝트
      • PM
      • Dev
    • Github

블로그 메뉴

  • 홈
  • 글쓰기

공지사항

인기 글

태그

  • stl
  • 그래프
  • set
  • Unreal Blueprint
  • 트리
  • BOJ
  • 기술 질문
  • 개발
  • unreal
  • 최단 경로
  • programmers
  • 정렬
  • Effective C++
  • dfs
  • DP
  • 알고리즘
  • 디자인 패턴
  • 우선순위 큐
  • C++
  • BFS

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
Hardii2
[Github]#1. LFS(Large File Storage)
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.