본문 바로가기
카테고리 없음

Git LFS에 대해서

by IT트레이서 2024. 2. 21.

안녕하세요, 여러분! 🌟 오늘은 Git Large File Storage, 즉 Git LFS에 대해 이야기해볼까 합니다. 개발자라면 누구나 한 번쯤은 큰 파일을 다루면서 겪는 불편함에 대해 고민해봤을 텐데요, Git LFS는 바로 그런 문제를 해결해주는 강력한 도구랍니다! 🚀

https://lifesoon.tistory.com/44

Git LFS란 무엇일까요? 🤔

Git LFS는 대용량 파일을 효율적으로 관리할 수 있도록 도와주는 Git의 확장 기능입니다. GitHub에서 개발되어, 비디오, 오디오, 데이터베이스 파일 등 큰 바이너리 파일들을 우리의 Git 저장소에서 쉽게 다룰 수 있게 해줍니다.

왜 Git LFS가 필요한가요? 🧐

Git은 텍스트 기반의 소스 코드와 같은 작은 파일들을 처리하는 데는 최적화되어 있지만, 큰 파일들을 다룰 때는 몇 가지 문제가 발생합니다. 대용량 파일들이 저장소에 포함되면, 저장소의 크기가 급격히 증가하고, 클론과 풀 요청의 성능이 저하될 수 있죠. Git LFS는 이러한 문제를 깔끔하게 해결해줍니다.

Git LFS의 작동 방식 🛠

  1. 파일 추적 시작하기:
    Git LFS를 사용하기 시작하려면, 먼저 원하는 파일 유형을 추적하도록 설정해야 합니다. 예를 들어, PNG 이미지 파일을 추적하고 싶다면, 다음과 같이 입력해보세요.이 명령은 .gitattributes 파일에 해당 패턴을 추가합니다.
  2. git lfs track "*.png"
  3. 커밋과 푸시:
    파일을 추가하고 커밋한 후, git push 명령으로 변경 사항을 원격 저장소에 푸시하면, Git LFS가 자동으로 대용량 파일을 처리합니다.
  4. git add .gitattributes your_large_file.png git commit -m "Add large files with Git LFS" git push
  5. 브랜치 변경과 파일 다운로드:
    다른 브랜치로 체크아웃하면, 해당 브랜치에 필요한 Git LFS 파일들은 자동으로 다운로드됩니다. 이는 네트워크를 통해 이루어지며, 사용자가 별도의 명령어를 입력하지 않아도 자동으로 처리됩니다.

기존 파일을 Git LFS로 옮기기 🔄

이미 커밋된 파일을 Git LFS로 옮기고 싶다면, git lfs migrate 명령을 사용할 수 있습니다. 이렇게 하면 Git LFS가 지정된 파일 유형의 모든 인스턴스를 찾아서 처리합니다.

git lfs migrate import --include="*.png"

이 명령은 .png 파일을 모두 Git LFS로 옮기고, 새로운 커밋 히스토리를 생성합니다.

Git LFS와 로컬 작업 환경 최적화 🌟

Git LFS의 또 다른 멋진 점은 바로 로컬 작업 환경의 최적화에 있습니다. 대용량 파일을 다룰 때, 이 파일들은 개발자의 로컬 시스템에서 상당한 양의 디스크 공간을 차지할 수 있어요. Git LFS는 이 문제를 해결해줍니다.

  • 로컬 디스크 공간 절약: Git LFS를 사용하면, 로컬 저장소에는 대용량 파일의 실제 내용 대신 '포인터' 파일만 저장됩니다. 실제 파일은 별도의 LFS 서버에 저장되죠. 이렇게 함으로써, 필요할 때만 해당 파일을 다운로드하여 사용할 수 있으며, 로컬 시스템의 디스크 공간을 크게 절약할 수 있습니다.
  • 필요한 파일만 다운로드: 또한, Git LFS는 필요한 파일만 선택적으로 다운로드할 수 있게 해주어, 네트워크 대역폭을 효율적으로 사용할 수 있게 합니다. 예를 들어, 특정 브랜치로 작업을 시작할 때 그 브랜치에 필요한 대용량 파일만 다운로드됩니다. 이는 특히 대규모 프로젝트에서 작업하는 개발자에게 큰 이점을 제공합니다.

이러한 기능 덕분에, Git LFS는 개발자가 로컬 환경에서 더욱 효율적으로 작업할 수 있도록 돕습니다. 디스크 공간의 부담을 줄이고, 필요할 때만 필요한 리소스를 가져옴으로써, 개발자의 작업 흐름을 더욱 스무스하게 만들어준답니다.

마무리하며... 🚀

이처럼, Git LFS는 단순히 대용량 파일을 효율적으로 관리하는 것을 넘어서, 개발자의 로컬 작업 환경을 최적화하는 데에도 큰 도움을 줍니다. Git LFS를 활용하면 프로젝트의 효율성을 높이고, 개발 과정을 더욱 쾌적하게 만들 수 있어요. 따라서, 대용량 파일로 고민이 많으셨던 분들이라면, Git LFS를 적극적으로 활용해보시길 권장드립니다! 🌈

여러분의 프로젝트가 항상 순조롭게 진행되길 바라며, Happy coding! 🎉

https://lifesoon.tistory.com/44