1 minute read

์‹ค์ „์˜ˆ์ œ๋กœ ๋ฐ”๋กœ ์ดํ•ดํ•ด๋ด…๋‹ˆ๋‹ค.

3dgs github์—๋Š” submodules๊นŒ์ง€ ํ•œ๋ฒˆ์— ์„ค์น˜ํ•  ์ˆ˜ ์žˆ๋„๋ก repository๋ฅผ cloneํ•  ๋•Œ, --recursive ์ธ์ž๋ฅผ ์ค๋‹ˆ๋‹ค.

  • --recursive์ธ์ž๋ฅผ ์ฃผ๊ณ  git clone์„ ์ง„ํ–‰ํ•˜๋ฉด, .gitmodules์— ์กด์žฌํ•˜๋Š” ํƒ€ git repository์— ์กด์žฌํ•˜๋Š” module๋„ ํ•œ๋ฒˆ์— clone์ด ๋˜์–ด ์„ค์น˜๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

image

.gitmodules๋ฅผ ์ฐธ๊ณ ํ•ด๋ณด๋ฉด submodule ๋‹ค์Œ 3๊ฐ€์ง€๊ฐ€ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.

  • .gitmodules ํŒŒ์ผ: ์„œ๋ธŒ๋ชจ๋“ˆ์˜ ๊ฒฝ๋กœ์™€ URL ์ •๋ณด๋งŒ์„ ํฌํ•จํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. image

์ปค๋ฐ‹ ํ•ด์‹œ(Commit Hash): ํŠน์ • ์ปค๋ฐ‹์„ ์‹๋ณ„ํ•˜๋Š” ๊ณ ์œ ํ•œ ๋ฌธ์ž์—ด. ์„œ๋ธŒ๋ชจ๋“ˆ์ด ํŠน์ • ์ปค๋ฐ‹์— ๊ณ ์ •๋  ๋•Œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

  • @ ๊ธฐํ˜ธ ๋’ค์— ์˜ค๋Š” ๋ฌธ์ž์—ด์ด ์ปค๋ฐ‹ ํ•ด์‹œ(Commit Hash)์ž…๋‹ˆ๋‹ค.
  • @ ๊ธฐํ˜ธ ๋’ค์— ์˜ค๋Š” ๋ฌธ์ž์—ด์€ ์„œ๋ธŒ๋ชจ๋“ˆ์ด ๊ณ ์ •๋œ ํŠน์ • ์ปค๋ฐ‹ ํ•ด์‹œ๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
  • ์„œ๋ธŒ๋ชจ๋“ˆ์˜ ํŠน์ • ์ปค๋ฐ‹ ํ•ด์‹œ๋Š” ๋ฉ”์ธ ๋ ˆํฌ์ง€ํ† ๋ฆฌ์˜ .git ๋””๋ ‰ํ† ๋ฆฌ ๋‚ด์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.
  • ๋ฉ”์ธ ๋ ˆํฌ์ง€ํ† ๋ฆฌ์˜ ์ธ๋ฑ์Šค ํŒŒ์ผ: ์„œ๋ธŒ๋ชจ๋“ˆ์ด ๊ณ ์ •๋œ ์ปค๋ฐ‹ ํ•ด์‹œ ์ •๋ณด๋ฅผ ํฌํ•จํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋ฉ”์ธ ๋ ˆํฌ์ง€ํ† ๋ฆฌ์˜ .git/modules ๋””๋ ‰ํ† ๋ฆฌ์™€ .git/config ํŒŒ์ผ์—์„œ ๊ด€๋ฆฌ๋ฉ๋‹ˆ๋‹ค.
  • ์„œ๋ธŒ๋ชจ๋“ˆ์ด ํŠน์ • ์ปค๋ฐ‹ ํ•ด์‹œ๋กœ ๊ณ ์ •๋œ ์ƒํƒœ๋ฅผ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ๋ฉ”์ธ ๋ ˆํฌ์ง€ํ† ๋ฆฌ์˜ .git/modules ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์‚ดํŽด๋ณด๊ฑฐ๋‚˜, git submodule status ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

image

image

git submodule status

image

  • ์—ฌ๊ธฐ์„œ ๊ฐ ํ•ด์‹œ ๊ฐ’์€ ์„œ๋ธŒ๋ชจ๋“ˆ์ด ํ˜„์žฌ ๊ณ ์ •๋œ ์ปค๋ฐ‹์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.
  • git submodule status๋กœ ํ™•์ธํ•œ ์„ค์น˜๋œ ์„œ๋ธŒ๋ชจ๋“ˆ์˜ ์ปค๋ฐ‹ ํ•ด์‹œ๊ฐ€ 3dgs ๋ฉ”์ธ ๋ ˆํฌ์ง€ํ† ๋ฆฌ์˜ @์˜ ๋’ค์˜ ๋ฌธ์ž์—ด์ธ ์ปค๋ฐ‹ ํ•ด์‹œ์™€ ๊ฐ™์Œ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

--recursive๋กœ ์„ค์น˜ํ•˜๋ฉด ๋ฉ”์ธ ๋ ˆํฌ์ง€ํ† ๋ฆฌ์—์„œ ๊ฐ submodule์˜ ์ปค๋ฐ‹ํ•ด์‹œ์— ๋งž๊ฒŒ ์„ค์น˜๋˜๋‚˜, ๋งŒ์•ฝ submodule์˜ ์ปค๋ฐ‹ํ•ด์‹œ๊ฐ€ submodules์˜ git repository์— ์กด์žฌํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ ์„ค์น˜๊ฐ€ ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

  • ์ด๋•Œ๋Š”, ๋ฏธ๋ฆฌ ๋กœ์ปฌ ์ปดํ“จํ„ฐ์— ์„ค์น˜ํ•ด๋†“์•˜๋˜ submodules ํด๋”๋ฅผ ์„ค์น˜ํ•˜๋ ค๋Š” ํ•ด๋‹น ์„œ๋ฒ„ ํด๋”์— ๋ณต์‚ฌ ๋ถ™์—ฌ๋„ฃ๊ธฐ ํ•˜๊ณ , pip install -e .์ธ ๊ฐœ๋ฐœ๋ชจ๋“œ๋กœ ์„ค์น˜ํ•˜์˜€์Šต๋‹ˆ๋‹ค.
  • submodules/diff-gaussian-rasterization, submodules/simple-knn์„ pip install -e .๋กœ ์„ค์น˜ํ•˜๊ณ , git submodule status๋กœ ํ™•์ธํ•œ ๊ฒฐ๊ณผ submodule์˜ ์ปค๋ฐ‹ํ•ด์‹œ๊ฐ€ ๋ฉ”์ธ ๋ ˆํฌ์ง€ํ† ๋ฆฌ์˜ ์ปค๋ฐ‹ํ•ด์‹œ @์˜ ๋’ค์˜ ๋ฌธ์ž์—ด๊ณผ ๊ฐ™์•„ ๋ฌธ์ œ๊ฐ€ ์—†์Œ์„ ํ™•์ธํ•˜์˜€์Šต๋‹ˆ๋‹ค.

image

(heads/main) = main ๋ธŒ๋žœ์น˜์˜ ์ตœ์‹  ์ปค๋ฐ‹

  • (heads/main)์€ ์„œ๋ธŒ๋ชจ๋“ˆ์ด ํ˜„์žฌ ๊ฐ€๋ฆฌํ‚ค๊ณ  ์žˆ๋Š” ์ปค๋ฐ‹์ด main ๋ธŒ๋žœ์น˜์˜ ์ตœ์‹  ์ปค๋ฐ‹์ž„์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ด ์ •๋ณด๊ฐ€ ์ถœ๋ ฅ๋˜๋Š” ๊ฒฝ์šฐ, ํ•ด๋‹น ์„œ๋ธŒ๋ชจ๋“ˆ์ด main ๋ธŒ๋žœ์น˜๋ฅผ ํŠธ๋ž˜ํ‚นํ•˜๊ณ  ์žˆ์Œ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

(heads/main)์ด ์—†์Œ = ํŠน์ • ์ปค๋ฐ‹ ๊ณ ์ •

  • (heads/main)์™€ ๊ฐ™์€ ๋ธŒ๋žœ์น˜ ์ •๋ณด๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ, ์„œ๋ธŒ๋ชจ๋“ˆ์ด ํŠน์ • ๋ธŒ๋žœ์น˜๋ฅผ ํŠธ๋ž˜ํ‚นํ•˜๊ณ  ์žˆ์ง€ ์•Š๊ฑฐ๋‚˜, ๋‹จ์ˆœํžˆ ํŠน์ • ์ปค๋ฐ‹์— ๊ณ ์ •๋˜์–ด ์žˆ์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
  • ์˜ˆ๋ฅผ ๋“ค์–ด:
    • SIBR_viewers: ํŠน์ • ๋ธŒ๋žœ์น˜ ์ •๋ณด ์—†์ด ํŠน์ • ์ปค๋ฐ‹ ํ•ด์‹œ 4ae964a267cd7a844d9766563cf9d0b500131a22์— ๊ณ ์ •๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
    • ubmodules/simple-knn: ํŠน์ • ๋ธŒ๋žœ์น˜ ์ •๋ณด ์—†์ด ํŠน์ • ์ปค๋ฐ‹ ํ•ด์‹œ 44f764299fa305faf6ec5ebd99939e0508331503์— ๊ณ ์ •๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

์š”์•ฝ

  • ์„œ๋ธŒ๋ชจ๋“ˆ์˜ ํŠน์ • ์ปค๋ฐ‹ ํ•ด์‹œ ์ •๋ณด๋Š” ๋ฉ”์ธ ๋ ˆํฌ์ง€ํ† ๋ฆฌ์˜ .git ๋””๋ ‰ํ† ๋ฆฌ ๋‚ด์—์„œ ๊ด€๋ฆฌ๋ฉ๋‹ˆ๋‹ค.
  • ์ด๋ฅผ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” git submodule status ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜, ๋ฉ”์ธ ๋ ˆํฌ์ง€ํ† ๋ฆฌ์˜ .git/modules ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์‚ดํŽด๋ณด์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.

Leave a comment