๊ธฐ์กด์ ๋ธ๋์น๋ฅผ ์ฒดํฌ์์ํ๊ธฐ ์ํด์๋
ํ์ฌ ์์ ๋๋ ํฐ๋ฆฌ๊ฐ ์ปค๋ฐ ํ ๋ณ๊ฒฝ์ฌํญ ์์ด ๊นจ๋ํด์ผ ํ๋ค.
์ด๋, ์ปค๋ฐํ์ง ์๊ณ ๋ณ๊ฒฝ์ฌํญ์ด ์๋ ์ํ์
์ฒดํฌ์์์ ์งํํ๋ ค๊ณ ํ ๋ ์ด๋ป๊ฒ ํด์ผ ํด๊ฒฐ๋ ๊น?
์์๋ณด๋๋ก ํ์.
โ ์ปค๋ฐ์ด ์๋ฃ๋ ์ํ์์ checkout ํ๊ธฐ
(1) ๊ธฐ์กด์ master ๋ธ๋์น๋ง ์๋ ์ํฉ์์
๋ค๋ฅธ ๋ธ๋์น๋ก ์ฒดํฌ์์์ ์งํํด์ฃผ๊ธฐ ์ํด test ๋ธ๋์น๋ฅผ ์ถ๊ฐํด ์ค๋ค.
(2) test๋ก ์ฒดํฌ์์์ด ๋ ์์ ์์
๋ด์ฉ์ ์ถ๊ฐํด ์ค ๋ค์ ์ปค๋ฐ ํ ์ฒดํฌ์์์ ์งํํด ์ค๋ค.
(3) test ๋ธ๋์น์์ ์ปค๋ฐ์ด ์๋ฃ๋ ์ํ์ด๋ฉฐ
master ๋ธ๋์น๋ก ์ฒดํฌ์์์ ์งํํ์ ๋ ์๋ฌ ์์ด ์ฒดํฌ์์์ด ๊ฐ๋ฅํ๋ค.
(4) ๊ฐ ๋ธ๋์น์์ ์ ์ฉ๋ ๋ด์ฉ์ ์๋ํฐ์์ ํ์ธ ํ ์ ์๋ค.
โก ์ปค๋ฐ์ด ์๋ฃ๋์ง ์์ ์ํ๋ก checkout ํ๊ธฐ
(1) test ๋ธ๋์น์์ ๋ด์ฉ์ ์ถ๊ฐํ ํ์ ์ ์ฅํด์ค๋ค.
(2) ์์คํธ๋ฆฌ์ ์ ์ ์ '์ปค๋ฐํ์ง ์์ ๋ณ๊ฒฝ์ฌํญ'์ด ๋ํ๋๋๋ฐ
๋ง์ง๋ง ์ปค๋ฐ๊ณผ ํ์ฌ ์์ ์ค์ธ ๋๋ ํฐ๋ฆฌ์ ๋ด์ฉ์ด ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ๋ฐ์ํ๋ ๊ฒ์ด๋ค.
์ด์ํ์์ ์ปค๋ฐํ๊ธฐ ์๊ณ ๋ฐ๋ก master ๋ธ๋์น๋ก ์ฒดํฌ์์์ ์งํํด๋ณธ๋ค.
(3) ์ดํ ์๋ฌ๊ฐ ๋ฐ์ํ๋ฉด์ ์ฒดํฌ์์์ด ์งํ๋์ง ์๋๋ฐ
๋ฐ๋์ master ๋ธ๋์น๋ก ์ฒดํฌ์์์ ํด์ผ ํ๋ ๊ฒฝ์ฐ์ ํด๊ฒฐ๋ฐฉ๋ฒ์ ์์๋ณด์.
์์ ์ค์ธ ๋ด์ฉ์ ์์ ์ ์ฅ
โ ๋ธ๋์น1์์ (์์) ์ปค๋ฐ์ ํ๋ค.
โก ๋ธ๋์น2๋ก ์ฒดํฌ์์์ ํ๊ณ ๋ด์ฉ์ ์์ฑํ๋ค.
โข ๋ธ๋์น1๋ก ์ฒดํฌ์์์ ํด์ค๋ค.
โฃ ๋ธ๋์น1์ ์์ ์ ์ด์ด์ ๋ง๋ฌด๋ฆฌ ์ง๋๋ค.
โค๋ถํ์ํ ์ปค๋ฐ์ ๋ฎ์ด์ฐ๊ธฐ (commit -amend) ํด์ค๋ค.
โฅ <์ต์ > ํ์์์ ๊ฐ์ ํธ์(push --force)๋ฅผ ํ๋ค.
โ ๋ธ๋์น1(test)์์ ์์์ ์ผ๋ก ์ปค๋ฐ์ ์์ฑํ๋ค.
โก ์ปค๋ฐ์ด ์๋ฃ๋ ํ ๋ธ๋์น2(master)๋ก ์ฒดํฌ์์์ ํ๊ณ ์์ ์ ์งํํ๋ค.
โข ๋ธ๋์น2(master)์ ์์ ์ ์๋ฃ ํ,
๋ค์ ๋ธ๋์น 1(test)๋ก ์ฒดํฌ์์์ ํด์ค๋ค.
โฃ ๋ธ๋์น 1(test)์์ ์์ฑํ์ง ๋ชปํ ๋ด์ฉ์ ์์ฑํด์ค๋ค.
(๋๋ ๋ด์ฉ์ ์ผ๋ถ๋ฅผ ์์ ํด ์ฃผ์๋ค.)
โค ๋ด์ฉ์ ์์ฑํ ํ ์ปค๋ฐ์ ํด์ผ ํ๋๋ฐ
์ด๋ ๋จ์ํ ์ปค๋ฐ์ ์์ฑํ๋ ๊ฒ์ด ์๋
์ปค๋ฐ๋์ ์๋ [์ปค๋ฐ ์ต์ ] - [๋ง์ง๋ง ์ปค๋ฐ ์ ์ ]์ ๋๋ฌ์ค ๋ค
์ปค๋ฐ์ ๋ด์ฉ์ ์์ ํด ์ค ํ ์ปค๋ฐ์ ๋๋ฌ์ค๋ค.
์ด๊ฒฝ์ฐ๊ฐ ๋ฐ๋ก commit -amend์ด๋ค.
์ปค๋ฐ ํ ํ์ธํด๋ณด๋ฉด ๋ฎ์ด์ฐ๊ธฐ๋ฅผ ์งํํ์ ๋์ ์งํํ์ง ์์์ ๋์
์ปค๋ฐ ์ํ๊ฐ ๋ค๋ฅธ ๊ฒ์ ํ์ธํ ์ ์๋ค.
๋จ์ํ ์ปค๋ฐ์ ์งํํ์ ๊ฒฝ์ฐ์ ๋ถํ์ํ ์์ ์ปค๋ฐ์ ๋ด์ฉ์ ํฌํจํ๋ ๋ฐ๋ฉด์
๋ฎ์ด์ฐ๊ธฐ๋ฅผ ํ์ ๊ฒฝ์ฐ์ ๋ถํ์ํ ์์ ์ปค๋ฐ์ ๋ด์ฉ์ด ๋ณด์ด์ง ์์ ๊ฒ์ ํ์ธ ํ ์ ์๋ค.
โฅ ๊ฐํน ๋ถํ์ํ ์ปค๋ฐ์ ๋ด์ฉ์ push ํ์ ๊ฒฝ์ฐ๊ฐ ์๋๋ฐ
์ด๋๋ ๊ฐ์ ํธ์ (push --force)๋ฅผ ํด์ฃผ๋ฉด ๋๋ค.
์์ ๊ฒฝ์ฐ๋ ๋ถํ์ํ ์์ ์ปค๋ฐ์ ํธ์ํ ๋ค์
๋ค์ ์์ ํ ๋ด์ฉ์ ๋ฎ์ด์ฐ๊ธฐ ํ์ ๊ฒฝ์ฐ์ ๋ฐ์ํ๋ ์ํฉ์ด๋ค.
์ด๋์๋ ํฐ๋ฏธ๋์ ์ ์ํด
git push --force๋ฅผ ์ ๋ ฅํ๋ฉด ๋๋ค.
ํ์ธํด๋ณด๋ฉด ์ ์์ ์ผ๋ก push ๋ ๋ชจ์ต์ ํ์ธํ ์ ์๋ค.
์์ ์ ์๋ฃ ํ์ ํด๋น ๊ณผ์ ์ ์ผ์ข ์ ํ ์คํธ ์ด๋ฏ๋ก
test ๋ธ๋์น๋ฅผ ์ญ์ ํด ์ค๋ค.
master ๋ธ๋์น๋ก ์ฒดํฌ์์ ํด์ค ๋ค์
test์ origin/test ๋ธ๋์น๋ฅผ ์ ๊ฑฐํด ์ค๋ค.
branch๋ ์ ๋ง ํ์ฉ๋๊ฐ ๋์ ๊ฒ ๊ฐ๋ค.
์์ผ๋ก๋ ์ฐ์ผ branch๋ฅผ ์ํด ์ด์ฌํ ์ตํ์ผ๊ฒ ๋ค.
< ์ฐธ๊ณ >
์ธํ๋ฐ - git๊ณผ github
https://www.inflearn.com/course/git-and-github
โป ํด๋น ๊ธ์ ์ต๋ ๋ชฉ์ ์ผ๋ก ์์ฑ๋ ๊ธ์ ๋๋ค โป
'๊ฐ์ธ๊ณต๋ถ > Git & GitHub' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Git & GitHub] rebase ์ merge ์ฐจ์ด์ ๋น๊ตํ๊ธฐ โ (0) | 2020.05.29 |
---|---|
[Git & GitHub] ์์ ์ค์ธ ๋ด์ฉ ์์ ์ ์ฅ : stash (0) | 2020.05.28 |
[Git & GitHub] ์ด์ commit์ผ๋ก ๋๋๋ฆฌ๊ธฐ : revert ๋ณต์ต ๋ฐ ์์ฉ (0) | 2020.05.26 |
[Git & GitHub] ์ด์ commit์ผ๋ก ๋๋๋ฆฌ๊ธฐ : revert์ ๊ฐ๋ (0) | 2020.05.25 |
[Git & GitHub] ์ด์ commit์ผ๋ก ๋๋๋ฆฌ๊ธฐ : branch ์์ฑ (0) | 2020.05.24 |
๋๊ธ