์ด์ ์ ํผ์ ์งํํ๋ ํ๋ก์ ํธ๋ฅผ ๊น์ ์ฌ๋ฆด ๋, ํด๋ผ์ด์ธํธ ๋๋ ํ ๋ฆฌ์ ์๋ฒ ๋๋ ํ ๋ฆฌ๋ฅผ ํ๋์ ๋ ํฌ์งํ ๋ฆฌ์ ๋ชจ์์ ์ฌ๋ ธ๋ค. ๋์ค์ ์ฝ๋๋ฅผ ์์ ํ๊ณ ์ ๋ฐ์ดํธํด์ผ ํ๊ฑฐ๋ ๋ณด๊ธฐ์ ์กฐ๊ธ ๋ถํธํ๋ ๊ฒฝํ์ด ์์๋ค. ํด๋ผ์ด์ธํธ์ ์๋ฒ ๋๋ ํ ๋ฆฌ๋ฅผ ๊ฐ๊ฐ์ ๋ ํฌ์งํ ๋ฆฌ๋ก ๋ถ๋ฆฌ๋ฅผ ํด์ ๋ฐ๋ก ์ ์ฅํ๊ธฐ๋ก ํ๋ค.
์์๋ก ์ด๋ฆ์ ์ง์ด์ ์ฐ์๋ฉด,
project
โโโ client
โโโ server
๋ก ๋ ๋ ํฌ์งํ ๋ฆฌ๋ฅผ ๊ฐ๊ฐ
project-client
โโโ ....project-server
โโโ ....
๋ ๊ฐ์ ๋ณ๋์ ๋ ํฌ์งํ ๋ฆฌ๋ก ๋ถ๋ฆฌ๋ฅผ ํ ์์ .
1. ๊ฐ๊ฐ์ ๋ ํฌ์งํ ๋ฆฌ๋ฅผ ์์ฑํ๋ค.
๋์ ๊ฒฝ์ฐ์ topster-frontend, topster-backend ๋ ๊ฐ๋ฅผ ๋ง๋ค์ด์ฃผ์๋ค.
2. git subtree split
๋ถ๋ฆฌํ ํ๋ก์ ํธ์ ๋๋ ํ ๋ฆฌ๋ก ์ด๋ํ ํ์ ์๋์ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ๋ค.
git subtree split -P <๋ถ๋ฆฌํ ํ์ ๋๋ ํ ๋ฆฌ> -b <์๋ก์ด ๋ธ๋์น ์ด๋ฆ>
# ๋์ ๊ฒฝ์ฐ
git subtree split -P client -b splitted
์๋ก์ด ๋ธ๋์น๊ฐ ์์ฑ๋๊ณ , <๋ถ๋ฆฌํ ํ์ ๋๋ ํ ๋ฆฌ> ์ ์๋ ํ์ผ๋ค๋ก ์ฑ์์ง๋ค. ์ฌ๊ธฐ์ ์๋ก์ด ๋ธ๋์น๋ ์์๋ก ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ์ด๋ค ์ด๋ฆ์ ์จ๋ ์๊ด ์๋ค.
3. ์ ๋๋ ํ ๋ฆฌ์ ๋ถ๋ฆฌ
์ ๋๋ ํ ๋ฆฌ๋ฅผ ์์ฑํ ํ์ ์ด๋ํ๋ค. ๊น ์ ์ฅ์๋ฅผ ์ด๊ธฐํํ๊ณ ์์์ ์์ฑํ ๋ธ๋์น๋ฅผ pull
ํด์จ๋ค.
mkdir ../<์ ๋๋ ํ ๋ฆฌ ์ด๋ฆ>
cd ../<์ ๋๋ ํ ๋ฆฌ ์ด๋ฆ>
git init
git pull <๊ธฐ์กด ํ๋ก์ ํธ ๋๋ ํ ๋ฆฌ ์์น> <์์ฑํ ๋ธ๋์น ์ด๋ฆ>
# ๋์ ๊ฒฝ์ฐ
mkdir ../topster-frontend
cd ../topster-frontend
git init
git pull /Users/hangyujin/Desktop/JBBP/topster_withPY splitted
4. ์๊ฒฉ์ ์ฅ์์ push
git remote add origin <๋ถ๋ฆฌํ ๋ ํฌ์งํ ๋ฆฌ ์ฃผ์>
git push -u origin master
# ๋์ ๊ฒฝ์ฐ
git remote add origin https://github.com/9yujin/topster-frontend.git
git push -u origin master
remote๋ฅผ ์ค์ ํด์ฃผ๊ณ master
๋ธ๋์น์ push
ํ๋ค.
์ด๋ฌ์ด๋ฌํ ์ด์ ๋ก ๊ฑฐ๋ถ๋์๋ค๊ณ ๋ฌ๋ค.
๋ ํฌ์งํ ๋ฆฌ์ ์ ์ค๋ ์ํ์ด ์๋ ๋ฐ์ดํฐ๊ฐ ์๊ธฐ ๋๋ฌธ์ ๊ทธ๋ฅ ๊ฐ์ ๋ก push
ํด ์ฃผ์๋ค.
์ด๋ ๊ฒ ์ฑ๊ณต์ ์ผ๋ก ๋ถ๋ฆฌ ์๋ฃ ๐