Git

[GIT] Gitlab์—์„œ Github์œผ๋กœ Repository ๋ฏธ๋Ÿฌ๋งํ•˜๊ธฐ + LFS ์ ์šฉ

giraffe_ 2023. 5. 24. 14:49

 Gitlab์—์„œ ์ž‘์—…ํ•œ ํ”„๋กœ์ ํŠธ๋ฅผ Github์œผ๋กœ ์˜ฎ๊ฒจ์•ผ ํ•œ๋‹ค. zip ํŒŒ์ผ๋กœ ๋‹ค์šด๋กœ๋“œํ•ด์„œ Gibhub์— ๊ทธ๋Œ€๋กœ ์˜ฎ๊ธธ ์ˆ˜ ์žˆ์ง€๋งŒ, ๊ทธ๋ ‡๊ฒŒ ํ•˜๋ฉด commit ๊ธฐ๋ก์„ ๊ทธ๋Œ€๋กœ ์˜ฎ๊ธธ ์ˆ˜ ์—†๋‹ค.. ๋‚ด ๊ณ„์ • Github๊ณผ ๋™๊ธฐํ™”๋ฅผ ํ•˜๊ณ  ์ž”๋””๋ฅผ ์ฑ„์›Œ์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๋Œ€๋กœ ์˜ฎ๊ธฐ๋Š” ์ž‘์—…์ด ํ•„์š”ํ•˜๋‹ค. ์ด๋Ÿด ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋ฏธ๋Ÿฌ๋ง์ด๋‹ค!

 

 

 

 

Gitlab์—์„œ ์ €์žฅ์†Œ๋ฅผ ๋ณต์‚ฌ

git clone --mirror #gitlab ์ €์žฅ์†Œ ์ฃผ์†Œ

 

 

 

 

 

 

.git์œผ๋กœ ๋””๋ ‰ํ† ๋ฆฌ ์ด๋™

cd #์ƒ์„ฑ๋œ .git ํŒŒ์ผ

 

 

 

๋ฏธ๋Ÿฌ๋งํ•  Github ์ €์žฅ์†Œ ์ง€์ •

Github์— ์ƒˆ๋กœ Repository๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.

git remote set-url --push origin #์ด๋™ํ•  github ์ฃผ์†Œ

 

 

 

 

 

Github ์ €์žฅ์†Œ๋กœ Push

git push --mirror

 

 

 

 

 

โ— ์—๋Ÿฌ ์ฃผ์˜

ํ•˜์ง€๋งŒ ์—๋Ÿฌ๊ฐ€ ๋‚ฌ๋‹ค! ์—๋Ÿฌ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‹ˆ Github์˜ ์—…๋กœ๋“œ ๊ฐ€๋Šฅํ•œ ํŒŒ์ผ ์‚ฌ์ด์ฆˆ์ธ 100MB๋ฅผ ๋„˜๋Š”๋‹ค๊ณ  ํ•œ๋‹ค.

 

ํ”„๋กœ์ ํŠธ ํŒŒ์ผ์— sql ํŒŒ์ผ์ด ์žˆ์—ˆ๋Š”๋ฐ, ๋น…๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•œ DB์—์„œ ๊ทธ๋Œ€๋กœ sql ํŒŒ์ผ์„ ์ถ”์ถœํ•˜๋‹ค ๋ณด๋‹ˆ ์šฉ๋Ÿ‰์ด ํฐ ๊ฒƒ์ด ๋ฌธ์ œ์˜€๋‹ค.. Gibhub์—์„œ๋Š” 100MB๊ฐ€ ๋„˜๋Š” ํŒŒ์ผ์€ LFS๋กœ ์—…๋กœ๋“œํ•ด์•ผ ํ•œ๋‹ค๊ณ  ํ•œ๋‹ค.

 

 

 

 

 

 

๐Ÿ“‚ 100MB ๋„˜๋Š” ๋Œ€์šฉ๋Ÿ‰ ํŒŒ์ผ์ด ์žˆ๋Š” Repository ์˜ฎ๊ธฐ๊ธฐ

 

BFG Repo Cleaner ๋‹ค์šด๋กœ๋“œ

https://rtyley.github.io/bfg-repo-cleaner/

 

BFG Repo-Cleaner by rtyley

$ bfg --strip-blobs-bigger-than 100M --replace-text banned.txt repo.git an alternative to git-filter-branch The BFG is a simpler, faster alternative to git-filter-branch for cleansing bad data out of your Git repository history: Removing Crazy Big Files Re

rtyley.github.io

 

 

Git LFS ์„ค์น˜

$ git lfs install
Updated Git hooks.
Git LFS initialized.

 

 

 

 

bfg-1.14.0.jar ํŒŒ์ผ .git ํŒŒ์ผ ์•ˆ์— ๋„ฃ๊ธฐ

Repository Clone ํ›„ ์ƒ์„ฑ๋œ .git ํŒŒ์ผ ์•ˆ์— ๋‹ค์šด๋กœ๋“œํ•œ bfg-1.14.0.jar ํŒŒ์ผ์„ ๋„ฃ๋Š”๋‹ค

 

 

 

์ง€์ •ํ•œ ํ™•์žฅ์ž๋ช…์œผ๋กœ ๋๋‚˜๋Š” ํŒŒ์ผ์„ ๋ชจ๋“  ๋ธŒ๋žœ์น˜์˜ ์ปค๋ฐ‹ ๊ธฐ๋ก์—์„œ ์ฐพ๊ธฐ 

$ git filter-branch --tree-filter 'git lfs track "*.{sql}"' -- --all

 

 

 

๋ธŒ๋žœ์น˜์— ์žˆ๋Š” ๋ชจ๋“  ์ปค๋ฐ‹์„ ํƒ์ƒ‰ํ•˜์—ฌ .sql๋กœ ๋๋‚˜๋Š” ํŒŒ์ผ์„ ์ฐพ๋Š”๋‹ค.

์ปค๋ฐ‹์ˆ˜๊ฐ€ 670๊ฐœ์— ๋‹ฌํ•ด์„œ ์‹คํ–‰๋˜๋Š” ๋ฐ ์˜ค๋ž˜๊ฑธ๋ ธ๋‹ค.

 

 

 

์•ž์—์„œ ํƒ์ƒ‰ํ•œ ํŒŒ์ผ์„ LFS๋กœ ๋ณ€ํ™˜

java -jar bfg-1.14.0.jar --no-blob-protection --convert-to-git-lfs '*.sql'

 

 

.sql ์ธ ํŒŒ์ผ์„ ์ฐพ์•„์„œ LFS๋กœ ์ „ํ™˜ํ•ด ์ค€๋‹ค.

 

 

 

 

Mirror๋ฅผ ํ•ด์„œ Gibhub ์ €์žฅ์†Œ๋กœ Push

git push --mirror #Github ์ €์žฅ์†Œ

 

 

 

Uploading LFS objects์ด ๋‚˜์˜ค๋ฉด์„œ LFS์„ ์—…๋กœ๋“œํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ชจ๋“  ๋ธŒ๋žœ์น˜์™€ ๊ธฐ๋ก๋“ค์ด ๋ฏธ๋Ÿฌ๋ง ๋œ๋‹ค. ์‹œ๊ฐ„์ด ๊ฝค ๊ฑธ๋ฆฐ๋‹ค.

 

 

 

 

 

 

 

 

 

 

๐Ÿ“– ์ฐธ๊ณ  ์ž๋ฃŒ

https://jennnn.tistory.com/86

 

Gitlab์—์„œ Github์œผ๋กœ ์ €์žฅ์†Œ ์˜ฎ๊ธฐ๊ธฐ (๋ฏธ๋Ÿฌ๋ง) / commit log ์œ ์ง€

๊นƒ๋žฉ์—์„œ ๊นƒํ—™์œผ๋กœ ์ปค๋ฐ‹๋กœ๊ทธ๋ฅผ ์œ ์ง€ํ•œ์ฑ„ ๋ ˆํฌ์ง€ํ† ๋ฆฌ๋ฅผ ์˜ฎ๊ฒจ๋ณด์ž ! ๋ฐฉ๋ฒ• 1. ์›๋ณธ ์ €์žฅ์†Œ๋ฅผ ๋ณต์‚ฌํ•œ๋‹ค (๊นƒํ—™์œผ๋กœ ์˜ฎ๊ธธ ์›๋ณธ ๋ ˆํฌ ์ฃผ์†Œ) $ git clone --mirror [์›๋ณธ ๋ ˆํฌ์ง€ํ† ๋ฆฌ ๊ฒฝ๋กœ] 2. ํ•ด๋‹น ํด๋” ์•ˆ์œผ๋กœ

jennnn.tistory.com

 

https://velog.io/@1vl/100mb-%EB%84%98%EB%8A%94-%ED%8C%8C%EC%9D%BC%EC%9D%B4-%EC%9E%88%EB%8A%94-gitlab-github-%EB%AF%B8%EB%9F%AC%EB%A7%81

 

100mb ๋„˜๋Š” ํŒŒ์ผ์ด ์žˆ๋Š” gitlab → github ๋ฏธ๋Ÿฌ๋ง

์ด ๊ธ€์€ ๋ณธ์ธ์ด ๋‚˜์ค‘์— ์ฐพ์•„๋ณด๊ธฐ ํŽธํ•˜๊ฒŒ ๊ธฐ๋ก์„ ์œ„ํ•ด ์ ์—ˆ์Šต๋‹ˆ๋‹ค.๊นƒ๋žฉ์—์„œ ์—ด์‹ฌํžˆ ์ž‘์—…ํ•œ ํ”„๋กœ์ ํŠธ๋ฅผ ๊นƒํ—ˆ๋ธŒ๋กœ ์˜ฎ๊ธฐ๋ ค๊ณ  ํ–ˆ๋Š”๋ฐ, ๊นƒ๋žฉ์€ lfs๊ฐ€ ์ด๋ฏธ ํ™œ์„ฑํ™”๋œ ์ƒํƒœ์—ฌ์„œ 100mb๊ฐ€ ๋„˜๋Š” ์‚ฐ์ถœ๋ฌผ์ธ apk

velog.io