๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๊ฐœ๋ฐœ์ƒํ™œ/Git

git lfs ์˜ฌ๋ ธ๋˜ ๋ฐ์ดํ„ฐ ์‚ญ์ œ

by cocococo331 2024. 11. 3.

lfs๋กœ ์˜ฌ๋ ธ๋˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋”์ด์ƒ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•„ ์‚ญ์ œํ•˜๊ณ  ์‹ถ์—ˆ๋‹ค.

์ตœ์ข…์ ์œผ๋กœ ์›ํ–ˆ๋˜ ์•ก์…˜์€ ์ถ”์ ํŒŒ์ผ ์‚ญ์ œ, ์›๋ณธ ๋ฐ์ดํ„ฐ ๋กœ์ปฌ๋งŒ ์œ ์ง€, lfs ์ž์ฒด uninstall

 

1. lfs์— ์˜ฌ๋ผ๊ฐ„ ์ถ”์ ํŒŒ์ผ -> ์›๋ณธ ํŒŒ์ผ๋กœ ๋ณ€๊ฒฝ

git lfs fetch --all
git lfs checkout

 

2. lfs ๋ฐ์ดํ„ฐ ์ถ”์  ์‚ญ์ œ

git lfs untrack "src/main/resources/data.csv"
git lfs untrack "src/test/resources/testData.csv"

 

์ด๋•Œ untrack๋งŒ ํ•˜๋ฉด ๊ณ„์† git lfs ls-files ํ• ๋•Œ ๋ณด์ด๋”๋ผ

Git ์บ์‹œ์™€ ์ธ๋ฑ์Šค๋„ ์ •๋ฆฌํ•ด์ค˜์•ผํ•œ๋‹ค๊ณ  ํ•จ

git rm --cached "src/main/resources/data.csv"
git rm --cached "src/test/resources/testData.csv"

 

๊ทธ๋ฆฌ๊ณ  ํด๋Ÿฌ๋“œ์นญ๊ตฌ๊ฐ€ LFS๊ด€๋ จ ์„ค์ • ์™„์ „ ์ œ๊ฑฐํ•˜๋Š” ๋ช…๋ น์„ ๋˜ ์•Œ๋ ค์คฌ๋Š”๋ฐ

์ด๊ฒƒ๋„ ํ•ด์•ผํ•˜๋Š”๊ฒŒ ๋งž๋Š”์ง€๋Š” ๋ชจ๋ฅด๊ฒ ๋‹ค. ํ•˜๊ธดํ•จ 

rm -rf .git/lfs
rm -rf .git/hooks/*
git config --unset-all filter.lfs
git config --global --unset-all filter.lfs

 

lfs ํŒŒ์ผ ์—…๋กœ๋“œ ํ–ˆ์„ ๋•Œ ์„ค์ •ํŒŒ์ผ ๋‚ด์šฉ ์ œ๊ฑฐํ•˜๊ณ  ์ปค๋ฐ‹ 

git add .gitattributes
git commit -m "Remove LFS tracking"
git push -f origin main

 

3. ์›๋ณธํŒŒ์ผ ์ˆจ๊น€ (์‚ฌ์ด์ฆˆ๊ฐ€ ์ปค์„œ ์ž˜๋ชปํ•ด์„œ ๋ˆŒ๋ €์„ ๋•Œ ์˜ค๋ž˜๊ฑธ๋ฆผ ์ฝ๋‚จ)

echo "src/main/resources/data.csv" >> .gitignore
echo "src/test/resources/testData.csv" >> .gitignore

 

4.  lfs uninstall

git lfs uninstall

๋งˆ์ง€๋ง‰์— uninatllํ–ˆ๋”๋‹ˆ ์ด๋ฏธ ๋‹ค ์‚ญ์ œ๊ฐ€ ๋˜์—ˆ๋‹ค๊ณ ๋Š” ํ•จ

 

5. ๋งˆ์ง€๋ง‰ ํ™•์ธ

git lfs ls-files

์—ฌ๊ธฐ์„œ ๋ฐ์ดํ„ฐ๊ฐ€ ํ•˜๋‚˜๋„ ์•ˆ๋‚˜์˜ค๋ฉด ๋œ๋‹ค.

 

git lfs checkout์„ ์•ˆํ–ˆ๋”๋‹ˆ ๋ฐ์ดํ„ฐ๊ฐ€ ์›๋ณต๋˜์ง„ ์•Š์•˜๋Š”๋ฐ 

๊ทธ๊ฑฐ ๋นผ๊ณ ๋Š” ์‚ญ์ œ ๋ฐ ํ•ด์ œ๊ฐ€ ๋˜์—ˆ๊ณ  ์›๊ฒฉ์ €์žฅ์†Œ์—์„  ์‚ฌ๋ผ์ง„๊ฑฐ ๊ฐ™๋‹ค.

๊ทธ์น˜๋งŒ ์ œ๋Œ€๋กœ ๋œ๊ฑด์ง€ ํ™•์‹คํ•˜๊ฒŒ๋Š” ๋ชจ๋ฅด๊ฒ ๋‹ค.