git subtree
๋ Git์์ **ํ์ ๋ฆฌํฌ์งํ ๋ฆฌ(sub-repository)**๋ฅผ ๊ด๋ฆฌํ๊ธฐ ์ํ ๋ฉ์ปค๋์ฆ์
๋๋ค. ์ด๋ฅผ ์ฌ์ฉํ๋ฉด ํ ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋๋ ํ ๋ฆฌ ๋ด์ ๋ ๋ค๋ฅธ ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋ด์ฉ์ ํฌํจ์ํฌ ์ ์์ผ๋ฉฐ, ๊ฐ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ๋
๋ฆฝ์ ์ผ๋ก ๊ด๋ฆฌํ ์ ์์ต๋๋ค. git submodule
๊ณผ ๋น๊ต๋๋ ๊ธฐ๋ฅ์ผ๋ก, ์์กด์ฑ ๊ด๋ฆฌ๋ฅผ ๊ฐ๋จํ๊ฒ ํ๋ ค๋ ๋ชฉ์ ์ผ๋ก ์์ฃผ ์ฌ์ฉ๋ฉ๋๋ค.
subtree
๋ ํน์ ๋๋ ํ ๋ฆฌ ์๋์ ๋ค๋ฅธ ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋ด์ฉ์ ๊ฐ์ ธ์ค๊ณ , ์ด๋ฅผ ๋
๋ฆฝ์ ์ผ๋ก ์ฌ์ฉํ ์ ์๊ฒ ํฉ๋๋ค.subtree
๋ก ์ถ๊ฐ๋ ๋ฆฌํฌ์งํ ๋ฆฌ์ ์ปค๋ฐ ๋ด์ญ์ ๋ถ๋ชจ ๋ฆฌํฌ์งํ ๋ฆฌ์ ํตํฉ๋ฉ๋๋ค.-squash
์ต์
์ผ๋ก ์๋ธ ๋ฆฌํฌ์งํ ๋ฆฌ์ ์ปค๋ฐ์ ๋จ์ผ ์ปค๋ฐ์ผ๋ก ๋ณํฉํ ์๋ ์์ต๋๋ค.๋ค๋ฅธ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ํ์ฌ ๋ฆฌํฌ์งํ ๋ฆฌ์ ์ถ๊ฐํฉ๋๋ค.
git subtree add --prefix=<directory> <repository-url> <branch> [--squash]
--prefix=<directory>
: ์๋ธ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ํฌํจํ ๋๋ ํ ๋ฆฌ ๊ฒฝ๋ก.<repository-url>
: ์๋ธ ๋ฆฌํฌ์งํ ๋ฆฌ์ ์๊ฒฉ URL.<branch>
: ์๋ธ ๋ฆฌํฌ์งํ ๋ฆฌ์์ ๊ฐ์ ธ์ฌ ๋ธ๋์น.--squash
: ์๋ธ ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋ชจ๋ ์ปค๋ฐ์ ๋จ์ผ ์ปค๋ฐ์ผ๋ก ๋ณํฉ.์๋ธ ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋ด์ฉ์ ์ต์ ์ํ๋ก ์ ๋ฐ์ดํธํฉ๋๋ค.
git subtree pull --prefix=<directory> <repository-url> <branch> [--squash]