Git Subtree
Git Subtree ๐ค
Git Subtree --squash
Option ๐ค
Git Subtree Workflow ๐ค
https://olrlobt.tistory.com/47
https://medium.com/@hongseongho/git-subtree-์คํํด๋ณด๊ธฐ-d5fb263d6a59
https://homoefficio.github.io/2015/07/18/git-subtree/
- [x] subtree ์์ ๋ ํฌ๋ ์๊ฒฉ์์ ์ง์๋ ๋๋๊ฐ? (๋ก์ปฌ์์ ์ง์๋ ๋จ) - Yes
- [x] subtree ๋ถ๋ชจ ๋ ํฌ๊ฐ ๊ณต๊ฐ์ผ ๋, ์์ ๋ ํฌ๊ฐ ๋น๊ณต๊ฐ์ฌ๋ ๋๋๊ฐ? - Yes. but ์์ ๋ ํฌ ํ์ผ ๊ณต๊ฐ๋จ
- [x] subtree ์์ ๋ ํฌ ์ง์ธ ๋ fork, clone์์ ๋ฌธ์ ๋ฐ์?
<aside>
๐
์์ ๋ฆฌํฌ์งํ ๋ฆฌ๋ง cloneํ๋ ๊ฒฝ์ฐ๊ฐ ์กด์ฌ(colab ์ฌ์ฉ ๋ฑ)ํ๋ฏ๋ก, submodule์ ์ฐ๊ธฐ๋ก ๊ฒฐ์ !
</aside>
- subtree๋ ์์ ์๊ฒฉ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ์ง์ธ ์ ์๋ค๋ ์ฅ์ ์ด ์์ง๋ง, ๋ถ๋ชจ ์๊ฒฉ ๋ฆฌํฌ์งํ ๋ฆฌ์์ ์์ ๋๋ ํฐ๋ฆฌ๋ง ๋ฐ๋ก clone/forkํ ์ ์๊ธฐ์ ์์ ์๊ฒฉ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ๋จ๊ฒจ๋ฌ์ผ ํ๋ค.
- ์์ ์๊ฒฉ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ์ง์ฐ์ง ์์ ๊ฑฐ๋ผ๋ฉด ํ์ผ์ ๋ณต์ ํ๋ subtree๋ณด๋ค ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ์ฐธ์กฐํ๋ submodule์ด ๋ซ๋ค.
- subtree ์์ ์๊ฒฉ ๋ ํฌ๋ฅผ ์ญ์ ํ๋ฉด git subtree pull, git subtree push ๋ช
๋ น์ด๊ฐ ์คํจํ๋ค. ์์ ๋๋ ํฐ๋ฆฌ๋ ๊ทธ์ ๋ถ๋ชจ ๋ ํฌ์ ์ผ๋ถ๊ฐ ๋๋ฒ๋ฆฐ๋ค.
Exercise
-
subtree-child-private, subtree-child-public, subtree-parent ์๊ฒฉ ๋ ํฌ ์์ฑ, ๋ก์ปฌ์ clone
-
subtree-parent์ subtree-child-public์ subtree๋ก ์ถ๊ฐ
git subtree add --prefix=subtree-child-public <https://github.com/jseop-lim/subtree-child-public> main
-
subtree-parent์ subtree-child-private์ subtree๋ก ์ถ๊ฐ
git subtree add --prefix=subtree-child-private <https://github.com/jseop-lim/subtree-child-private> main
-
subtree-parent๋ฅผ ์๊ฒฉ ์ ์ฅ์์ push