새로 폴더를 만들고 커밋하는 과정에서 다음과 같은 오류 현상을 겪었다. 이미 나는 git 리포지터리와 remote하였고, commit을 하고 브랜치도 만들었다. 하지만, push하는 과정에서 다음과 같은 현상을 겪었다.
// 터미널 에러사항
remote: error: GH001: Large files detected. You may want to try Git Large File Storage - https://git-lfs.github.com.
To https://github.com/minislively/4depth-navbar.git
! [remote rejected] main -> main (pre-receive hook declined)
error: failed to push some refs to 'https://github.com/minislively/4depth-navbar.git'
나는 잘못이 없다. 다만 git과 vscode를 remote하고 commit 한 과정을 push했을 때 다음과 같은 오류가 발생했다.
해당 에러는 GitHub에 커밋하려는 파일의 크기가 제한을 초과했기 때문이다. GitHub는 단일 파일 크기를 100.00MB로 제한하고 있으며, 여기에 해당 파일이 초과했기 때문에 발생했다.
문제를 해결하기 위해서는 Git Large File Storage(LFS)를 사용하거나 파일의 크기를 줄이는 방법을 고려할 수 있다. Git LFS는 대용량 파일을 관리하는데 도움주는 Git확장 도구이다.
Git LFS(Large File Storage)는 Git의 확장 도구로, 대용량 파일을 관리하고 버전 관리 시스템에 효율적으로 통합하는데 사용된다. Git LFS는 일반적으로 이미지, 동영상, 바이너리 파일 등과 같이 큰 파일을 처리하는데 용이하다.
git은 기본적으로 파일의 변경 내용을 추적하고 버전을 관리하는데 적합한 소프트웨어다. 하지만, 대용량 파일을 Git으로 직접 관리하면 저장소의 크기가 커지고 속도가 저하될 수 있다. 이를 해결하기 위해 Git LFS가 개발되었다.
Git LFS는 대용량 파일을 Git 저장소에서 분리하여 따로 관리한다. 대신 Git 저장소에는 해당 파일의 메타데이터만 남겨두고, 실제 파일은 외부 서버에 저장한다. Git LFS가 관리하는 파일은 Git LFS 서버에 업로드되어 효율적으로 저장된다. 이렇게 함으로써 Git 저장소의 크기를 줄이고, 파일의 버전 관리 작업을 더 빠르고 효율적으로 수행할 수 있다.
Git LFS를 사용하려면 먼저 Git LFS 확장도구를 설치해야한다. 그런 다음 Git LFS를 프로젝트에 초기화하고 대용량 파일을 추적하도록 설정해야한다. 이후에는 Git LFS를 사용하여 대용량 파일을 업로드하고 다운로드할 수 있으며 Git LFS 서버를 통해 파일의 버전 관리를 원활하게 수행할 수 있다. 또한, Git LFS 파일을 설치하면 자동적으로 git이
// mac 환경에서 git-lfs 설치하기
brew install git-lfs
// git lfs 초기화
git lfs install
git lfs install를 터미널에 한 후 위와 같은 그림이 보이면 설치 완료 되었다.
그러면 이제 용량이 문제되는 폴더로 찾아가서 해결해보자. 터미널에 빨간줄이 보이고, 100.00MB 용량이 넘어가는 사이즈를 찾아보자.
저기 빨간줄 라인의 주어 부분이 용량을 초과하는 놈들이다. 그러면 이제 다음을 따라해주면 된다.
먼저, Git LFS를 설치합니다. 자세한 내용은 https://git-lfs.github.com/에서 제공하는 설치 가이드를 참고하세요.
Git LFS를 초기화합니다.
git lfs install
해당 zip 파일을 Git LFS로 추적하도록 설정합니다.
git lfs track "*.zip"
이 명령은 .zip 확장자를 가진 모든 파일을 Git LFS로 추적하도록 설정합니다.
변경된 파일을 스테이징합니다.
git add .
커밋을 생성합니다.
git commit -m "Add Zip files managed by Git LFS"
여기서 "Add Zip files managed by Git LFS"는 해당 커밋의 설명을 나타내는 메시지로 대체해야 합니다.
원격 저장소로 푸시합니다.
git push origin main
위의 단계를 따르면 노드 파일을 Git LFS로 관리하고, 해당 파일을 원격 저장소에 푸시할 수 있습니다.
Git LFS를 사용하여 파일의 용량을 많이 줄이려면 주로 다음과 같은 유형의 파일을 Git LFS로 관리하는 것이 좋습니다.
대용량 바이너리 파일: 이미지 파일 (예: .jpg, .png), 비디오 파일 (예: .mp4, .mov), 오디오 파일 (예: .mp3, .wav) 등의 대용량 바이너리 파일은 Git LFS로 관리하는 것이 효과적입니다.
아카이브 파일: 압축 파일 (예: .zip, .tar, .gz)과 같은 아카이브 파일은 변경이 발생하지 않는 한 전체 파일이 변경됩니다. 따라서 Git LFS로 관리하여 용량을 줄일 수 있습니다.
CAD 파일 및 3D 모델: CAD 파일 (예: .dwg, .dxf) 및 3D 모델 파일 (예: .obj, .stl)과 같은 대형 설계 및 3D 모델링 파일은 Git LFS를 사용하여 관리하는 것이 좋습니다.
이러한 파일들은 일반적으로 바이너리 파일로 분류되며, 크기가 크고 변경이 자주 발생하지 않는 파일들입니다. Git LFS를 사용하여 이러한 파일들을 관리하면 Git 저장소의 용량을 줄이고 속도를 향상시킬 수 있습니다.
Git LFS는 대용량 파일을 Git 저장소에서 추적하고 관리하는 도구이며, 주로 파일의 용량을 관리하는 데 도움을 줍니다. 그러나 Git LFS는 브라우저의 성능 추적에 직접적인 도움을 주지는 않습니다.
브라우저의 성능 추적을 위해서는 다른 도구 및 기술을 사용해야 합니다. 일반적으로 웹 개발에서는 웹 프론트엔드 개발자 도구를 사용하여 브라우저의 네트워크 성능, 리소스 로딩 시간, DOM 트리 구성 등을 분석하고 최적화합니다. Chrome 개발자 도구, Firefox 개발자 도구 및 다른 성능 분석 도구들이 유용한 도구 중 일부입니다.
Git LFS는 파일 관리 및 버전 관리에 초점을 맞춘 도구이므로, 파일 용량 관리 및 대용량 파일의 효율적인 처리에 도움을 줄 수 있지만, 브라우저 성능 추적과 직접적인 연관성은 없습니다. 따라서 브라우저의 성능 추적을 위해서는 해당 분야의 전문 도구 및 기술을 활용하는 것이 좋습니다.