Skip to content
This repository was archived by the owner on Jul 4, 2020. It is now read-only.

git lfs

kim yongbin edited this page May 27, 2020 · 1 revision

git-lfs는 git의 확장 플러그인이라고 볼 수 있습니다. git-lfs가 하는 역할은 git에 실제 파일을 추가하는 대신 그 파일을 가리키는 포인터를 추가하는 것입니다. 물론 그 파일은 여전히 거기에 있습니다. git으로 추적하는 정보만 포인터로 변경됩니다.

git-lfs를 이 레포지터리에서 사용하는 이유는 이 레포지터리 파일이 파이프라인 구축에 필요한 바이너리 파일을 포함하고 있기 때문입니다. 이런 바이너리 파일의 종류에는 실행파일과, 폰트 파일 등이 있습니다.

git-lfs의 단점은 git을 설치하면서 자동으로 설치되지 않는다는 점입니다. (윈도우즈에서는 옵션으로 존재) 그래서 사용하시는 컴퓨터에 git-lfs를 깔아주시길 부탁드립니다. 리눅스에서는 다운로드 받은 바이너리를 /usr/bin 등에 복사하면 됩니다.

문제점과 그 해결방법

  • lfs 파일을 git-lfs가 없는 곳에서 실수로 pull 했을때

git-lfs를 설치 또는 등록한 후, 다음 명령을 실행한다.

git lfs fetch --all
git rm {lfs 파일}
git reset HEAD {lfs 파일}
git checkout -- {lfs 파일}
  • gitea 에서 PR merge시 500에러 해결

git-lfs 버전이 2.3.4 이상이고 git에 다음과 같은 설정이 되어있다면 이 문제가 일어날 수 있다. git config --global --edit 으로 전역 설정 파일에 들어간 후 다음과 같은 줄이 있다면 삭제.

[filter "lfs"]
    clean = git-lfs clean -- %f
    smudge = git-lfs smudge -- %f
    process = git-lfs  filter-process
    required = true

Clone this wiki locally