ํด๋น ๋ ํฌ์งํ ๋ฆฌ๋ git rebase test๋ฅผ ์ํ ๋ ํฌ์งํ ๋ฆฌ์
๋๋ค.
์ํ ์๊ฐ์ ์ด 2์๊ฐ์ด๋ฉฐ, git rebase์ ์ต์ํด์ง ๋๊น์ง ์ฐ์ต์ ํ์
๋ ์ข์ต๋๋ค.
์๊ฐ์๋ถ๋ค์ ์๋ ์๋ด์ ๋ฐ๋ผ ๋จ๊ณ๋ณ ๊ณผ์ ๋ฅผ ์งํํด์ฃผ์๊ธฐ ๋ฐ๋๋๋ค.
-
๋ณธ์ธ github ํ์ด์ง๋ก ์ด๋ํ์ฌ repository๋ฅผ ์์ฑํด์ฃผ์ธ์.
repository ์ด๋ฆ์ ์๋๊ณผ ๊ฐ์ด ์ค์ ํด์ฃผ์ธ์:
git-rebase-practice
-
์ด ๋ ํฌ์งํ ๋ฆฌ๋ฅผ clone ๋ฐ์
1๋ฒ์์ ์์ฑํ repository๋ก remote ์ฃผ์๋ฅผ ๋ณ๊ฒฝํด์ฃผ์ธ์.wecode-git-rebase-test๋ ํฌ์งํ ๋ฆฌ๋ฅผ ํด๋ก ํด์ฃผ์ธ์.
$ git clone https://github.com/wecode-bootcamp-korea/wecode-git-rebase-test.git
- ํฐ๋ฏธ๋์์ ํด๋ก ๋ฐ์ ๋ ํฌ์งํ ๋ฆฌ์ ๋๋ ํ ๋ฆฌ ๊ฒฝ๋ก๋ก ์ด๋ ํ remote ์ฐ๊ฒฐ์ ํด์ ํด์ฃผ์ธ์.
$ git remote remove origin
- ์ดํ ๊ฐ์ธ Github์ ์์ฑํ ๋ ํฌ์งํ ๋ฆฌ์ ์ฃผ์๋ก remote๋ฅผ ๋ค์ ์ฐ๋ํด์ฃผ์ธ์.
$ git remote add origin https://github.com/[GITHUB_USERNAME]/git-rebase-practice.git
- ์๋ก ์์ฑํ์ฌ ์ฐ๋ํ ๋ ํฌ์งํ ๋ฆฌ์ ์ด๊ธฐ ์ํ์ main branch๋ฅผ push ํด์ฃผ์ธ์.
$ git push -u origin main
-
์ดํ ๊น ๋ ํ์งํ ๋ฆฌ์์ ๋ณธ์ธ์ ํฌ์ง์ ์ ๋ฐ๋ฅธ ํด๋๋ก ์ด๋ํ์ฌ ์๋ด์ ๋ฐ๋ผ ๊ณผ์ ๋ฅผ ์งํํค์ฃผ์ธ์.
-
๋ค๋ฅธ ๊ฐ๋ฐ์์ ํ์ ์ ํ๊ธฐ์ํด
branch naming๊ณผcommit message์ ๊ด๋ จ๋ convention์ด ์กด์ฌํฉ๋๋ค. ์๋ ์ฐธ๊ณ ์ฌํญ ์ ํ์ธํ์ฌ ์ด๋ฒ ์ํ์ ์ ์ฉํด์ฃผ์ธ์.
ํด๋น ์ํ์ ์ ์๋ฅผ ํ๊ฐํ์ง ์์ต๋๋ค. ์ฃผ๋ณ ๋๊ธฐ๋ถ๋ค๊ณผ์ ์ถฉ๋ถํ ์์ฌ์ํต๊ณผ ๋ค์ํ ์คํ ์์ค๋ฅผ ์ ํ๋ฉด์ ๋ฌธ์ ํด๊ฒฐ ๋ฅ๋ ฅ์ ๋ฐํํด์ฃผ์ธ์.
์ถ๊ฐ๋ก, ๋ค๋ฅธ ๊ฐ๋ฐ์์ ํ์ ์ ํ ์ ์์ผ๋ฉฐ ์ฝ๋์ ๋ฒ์ ์ ๊ด๋ฆฌํ ์ ์๋ git๊ณผ github์ ์ถฉ๋ถํ ํ์ฉํ๊ธฐ ์ํด์๋ ๋ค์ํ convention๊ณผ ๊ท์น์ ์ ์ดํดํ๊ณ ์์ด์ผ ํฉ๋๋ค.
ํ์ฌ๋ง๋ค ๋ค๋ฅธ convention ๊ท์น์ ๊ฐ์ง๊ณ ์์ง๋ง, ์์ฝ๋์์ ๋ฐ๋ฅด๊ณ ์๋ convention ๊ท์น์ ์ด๋ฒ ์ํ ๊ฐ ๋ฐ๋์ ์ ์ฉํด์ฃผ์ธ์.
commit ๋ฉ์์ง๋ ๋ค๋ฅธ ๊ฐ๋ฐ์๊ฐ ๋์ ๊ฐ๋ฐ ์์
์ ์ดํดํ๊ธฐ ์ฝ๊ฒ ์์ฑํด ๋์ ์์ฝ๋ณธ์
๋๋ค. ์๋ ์์๋ฅผ ์ฐธ๊ณ ํ์ฌ ์ํ์ ๋ํ ๋ด์ฉ์ด ์ถฉ๋ถํ ์ ๋ฌ๋ ์ ์๋๋ก commit ๋ฉ์์ง๋ฅผ ์์ฑํด์ฃผ์ธ์.
-
์ปค๋ฐ๋ฉ์์ง ์์ฑ ์์:
// ๋ก๊ทธ์ธ ๊ธฐ๋ฅ์ ๊ตฌํํ์ฌ ์๋ก์ด ์ฝ๋๋ฅผ ์ถ๊ฐํ๋ ๊ฒฝ์ฐ Add: ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ๊ตฌํ ์๋ฃ // ์ถ๊ฐ๋ ๋ก๊ทธ์ธ ๊ธฐ๋ฅ์ ์์ ์ฌํญ์ ๋ฐ์ํ ๊ฒฝ์ฐ (Multi-line command) Modify: ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ๊ตฌํ ์์ - ์ด๋ฉ์ผ ์ ํจ์ฑ ๊ฒ์ฌ ๋ก์ง ์์ - ๋น๋ฐ๋ฒํธ ์ ํจ์ฑ ๊ฒ์ฌ ๋ก์ง ์์ // ๋ฒ๊ทธ๋ฅผ ํด๊ฒฐํ ๊ฒฝ์ฐ Fix: ๋ก๊ทธ์ธ id, pw์ ๊ณต๋ฐฑ ์ ๋ ฅ ๊ฐ๋ฅํ ๋ฒ๊ทธ ํฝ์ค
์ฐธ๊ณ ๋งํฌ