์ปค๋ฐ์ ํ๋ฉด์ ์ฝ๋๋ฅผ ์งค ๋ ์๋ก์ด ๊ธฐ๋ฅ์ ์ถ๊ฐํด์ผ ํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค.
์๋ณธ ์ฝ๋์ ์ฝ๋๋ฅผ ์ถ๊ฐํ๊ณ ์ปค๋ฐํด๋ ๋๊ฒ ์ง๋ง ์ง์ง์ง์ง ํน์๋ ๋ฌด์ธ๊ฐ ์๋ชป๋ผ์ ๊ทธ๋์ ์งฐ๋ ํ๋ก๊ทธ๋จ์ด ๋ค ๋ง๊ฐ์ง๋ค๋ฉด? ํ๋ ๊ฑฑ์ ์ด ์์ ๊ฒ์ด๋ค.
์ด๋ด ๋ ์์ ํ๊ฒ ํ๋ก๊ทธ๋จ์ ๋ณต์ฌ๋ณธ์์ ์์
์ ํ๋ฉด ์ข์ ๊ฒ ๊ฐ์๋ฐ ๊ทธ๋ ์ฌ์ฉํ๋ ๊ฒ ๋ฐ๋ก branch๋ค.

๋ง ๊ทธ๋๋ก git์์ branch๋ ํ๋ก์ ํธ์ ๋ณต์ฌ๋ณธ์ด๋ค.
์๋ณธ ์ฝ๋๋ฅผ ๊ฑด๋๋ฆฌ์ง ์๊ณ ๋ ๊ทธ ํ๋ก์ ํธ๋ฅผ ์๋ก์ด ๊ธฐ๋ฅ์ ์ถ๊ฐํ๊ฑฐ๋ ํ
์คํธํด๋ณผ ์ ์๋ ๊ฒ์ด๋ค.
git branch ๋ธ๋์น์ด๋ฆ: ์๋ก์ด branch๋ฅผ ์์ฑํ๋ค.git switch ๋ธ๋์น์ด๋ฆ: ์์ฑํ branch๋ก ์ด๋ํ๋ค.git checkout ๋ธ๋์น์ด๋ฆ ์ผ์ง๋ง, ์์ฆ์ switch๊ฐ ๋ ์ง๊ด์ ์.)git status: ํ์ฌ ์ด๋ branch์ ์๋์ง ํ์ธํ๋ค.์ด ๋ช ๋ น์ด๋ฅผ ์ด์ฉํด์ ์ค์ต์ ํ๋ ์งํํ๋ค.
git branch coupon์ผ๋ก branch ์์ฑ.git switch coupon์ผ๋ก ์ด๋.
switch๊น์ง ํ๋ค๋ฉด ํ์ผ ์์ ์ ์งํํ๋ค.

์์ ํ ํ์ ์คํ ์ด์ง๊ณผ ์ปค๋ฐ๊น์ง ์งํํ๋ค.
์ด๋ฌ๊ณ ๋ค์ main๋ธ๋์น๋ก ์ด๋ํ๋ฉด

์ถ๊ฐํ๋ ํ์ผ์ด ์ฌ๋ผ์ง๋ฉฐ ๋ค์ ์๊น์ ์ํ๋ก ๋์๊ฐ๋ค. (main ๋ธ๋์น)

yay๋ผ๊ณ ์ปค๋ฐ์ ํ ๋ฒ ๋ํ๊ณ ๋ค์ main์์ log๋ฅผ ๋ณด๋ฉด ์ด๋ ๊ฒ ๋๋๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
๊ทธ๋ฆฌ๊ณ ์์ ํ ์ฌํญ์ด ์ ๋์๋์ด์ main์ ํฉ์น๊ณ ์ถ๋ค! ๊ทธ๋ฌ๋ฉด merge๋ฅผ ์ฐ๋ฉด ๋๋ค.

branch์์ ์์
ํ ๋ด์ฉ์ด ๋ง์์ ๋ค๋ฉด ์๋ณธ์ธ main branch์ ํฉ์น ์ ์๋ค.
์ด๋ฅผ merge๋ผ๊ณ ํ๋ค.

git switch main: main branch๋ก ์ด๋ํ๋ค.git merge ๋ธ๋์น์ด๋ฆ: ํด๋น branch ๋ด์ฉ์ main์ ํฉ์น๋ค.git merge coupon โ coupon branch์ ์ฝ๋๊ฐ main์ ์ถ๊ฐ๋จ.
๊ฐ์ ํ์ผ์ ๊ฐ์ ๋ถ๋ถ์ main๊ณผ branch์์ ๋ค๋ฅด๊ฒ ์์ ํ๋ฉด conflict๊ฐ ๋ฐ์ํ๋ค. ์ฐ๋ฆฌ ์ปดํจํฐ๊ฐ ํผ๋์ค๋ฌ์ํ๋ ๊ฒ์ด๋ค.
<<<<, >>>>, ==== ๊ฐ์ ํ์๋ ์ง์ฐ๊ณ ์ํ๋ ์ฝ๋๋ง ๋จ๊ธด๋ค.git add ํ์ผ๋ช
, git commit -m '๋ฉ์ธ์ง'๋ก ํด๊ฒฐํ๋ค.
main branch์์ app.txt์ ๋ ๋ฒ์งธ ์ค์ ์์ ํด๋ณด๊ฒ ๋ค.

๊ทธ๋ฆฌ๊ณ coupon branch์์ ๋ ๋ฒ์งธ ์ค์ ๋ค๋ฅด๊ฒ ์์ ํด๋ดค๋ค.
์ด์ main branch๋ก ์ด๋ํด์ coupon branch๋ฅผ mergeํด๋ณด์.

์ด๋ ๊ฒ ๋จ๋๋ฐ ์ฌ๊ธฐ์ ์ํ๋ ์ฝ๋๋ฅผ ๋จ๊ธฐ๊ณ ๋ค ์ง์๋ณด์. (vs code๋ ์์ 1๋ฒ ์ค ๋ฐ์ ๋ฒํผ์ ๋๋ฌ์ ํด๊ฒฐํด๋ ๋๋ค)

์ด์ ๋ค์ addํ๊ณ commitํ๋ฉด ๋๋ค.

์ด์ log๋ฅผ ๋ณด๋ฉด ์ ํด๊ฒฐ๋์์์ ์ ์ ์๋ค.

์ฌ๊ธฐ๊น์ง๋ ์ค์ตํด๋ดค๋ ๋ด์ฉ์ด๋ผ ์์ฃผ ์ฌ์ ๋ค! ์ค์ต์ ํตํด ์กฐ๊ธ ๋ ์ต์ํด์ง ๋๋ ์ ๋?