๋ผ์ด๋ฏน์ค ์ ๋ฐ์ดํธ¶
๋ผ์ด๋ฏน์ค๋ ํ๋ฐํ๊ฒ ๊ฐ๋ฐ์ด ์ด๋ฃจ์ด์ง๊ณ ์์ผ๋ฉฐ ์์๋ก ์ ๊ธฐ๋ฅ์ด ์ถ๊ฐ, ๋ฒ๊ทธ ์์ , ๋ณด์ํจ์น ๋ฑ์ด ์ด๋ฃจ์ด์ง๋ฏ๋ก
๋ผ์ด๋ฏน์ค๋ฅผ ์ฌ์ฉํ์ฌ ์ด์ํ์๋ ์ฌ์ดํธ๋ ์์ฃผ ์
๋ฐ์ดํธํ์ค ์ค๋น๊ฐ ๋์ด ์์ด์ผ ํฉ๋๋ค.
๋ผ์ด๋ฏน์ค๋ ํฌ๊ฒ ๋ ๊ฐ์ง ๋ฐฉ๋ฒ์ผ๋ก ์ ๋ฐ์ดํธํ ์ ์์ต๋๋ค.
์ ๋ฒ์ ์ผ๋ก ๋ฎ์ด์์ฐ๊ธฐ¶
๋ผ์ด๋ฏน์ค ์ค์น ๋ฐฉ๋ฒ๊ณผ ๋์ผํฉ๋๋ค. ์ต์ ๋ฒ์ ์ ๋ค์ด๋ก๋ํ์ฌ ๊ธฐ์กด ์ฌ์ดํธ์ ๋ฎ์ด์์๋๋ค.
๋ชจ๋ ์ค์ ๊ณผ ์ฒจ๋ถํ์ผ ๋ฑ์ files
ํด๋ ๋ฐ DB์ ์ ์ฅ๋๋ฏ๋ก ๋ผ์ด๋ฏน์ค๋ฅผ ๋ฎ์ด์์๋ ์์ ํฉ๋๋ค.
(๋ฐฐํฌ๋ ํ์ผ์๋ files
ํด๋๊ฐ ํฌํจ๋์ด ์์ง ์์ต๋๋ค.)
๊ฐ๊ฐ์ ํด๋ ๋ด์ ์ถ๊ฐ๋ก ์ค์นํ์ ๋ชจ๋, ์ ๋์จ, ์คํจ ๋ฑ์ ์๋ํํฐ ์๋ฃ๋ ๋ง์ฐฌ๊ฐ์ง์
๋๋ค.
๋จ, ๋ผ์ด๋ฏน์ค์์ ๋ฐฐํฌํ๋ ํ์ผ์ ์์ ํ์ฌ ์ฌ์ฉํ๊ณ ๊ณ์
จ๋ค๋ฉด
์ด ๋ฐฉ๋ฒ์ผ๋ก ์
๋ฐ์ดํธํ ๊ฒฝ์ฐ ๋ชจ๋ ๋ณ๊ฒฝ๋ด์ญ์ด ์ด๊ธฐํ๋ ์ ์์ต๋๋ค.
๋ณ๊ฒฝ๋ถ๋ง ์
๋ฐ์ดํธํ๊ณ ์ถ์ผ์ ๋ถ์ ์๋์์ ์ค๋ช
ํ git ๋ฐฉ์์ ์ฌ์ฉํ์๊ธฐ ๋ฐ๋๋๋ค.
git์ผ๋ก ์ ๋ฐ์ดํธํ๊ธฐ¶
๋ผ์ด๋ฏน์ค๋ฅผ git์ผ๋ก ์ค์นํ์ จ๋ค๋ฉด git์ผ๋ก ์ ๋ฐ์ดํธํ์ค ์ ์์ต๋๋ค.
์์ค ์์ ์ด ์๋ ๊ฒฝ์ฐ¶
git status
๋ช
๋ น์ ๋ด๋ ธ์ ๋ "modified", "deleted" ๋ฑ์ผ๋ก ๋์ค๋ ๊ฒ์ด ์๋ค๋ฉด ์์ค ์์ ์ด ์๋ ๊ฒ์
๋๋ค.
(์ถ๊ฐํ ํ์ผ, ์๋ํํฐ ์๋ฃ ๋ฑ์ "Untracked files" ์๋์ ๋์ต๋๋ค. ์ด๊ฒ์ ๋ฌธ์ ๊ฐ ๋์ง ์์ต๋๋ค.)
์์ค ์์ ์ด ์๋ค๋ฉด ์๋์ ๋ช ๋ น์ผ๋ก ๊ฐ๋จํ๊ฒ ์ ๋ฐ์ดํธํ ์ ์์ต๋๋ค.
git pull
๋จ, ์ด ๋ช
๋ น ์ฌ์ฉ์ ํ์ฌ ๋ธ๋์น(master ๋๋ develop)๋ง ์
๋ฐ์ดํธ๋๋ฏ๋ก
๋ธ๋์น๋ฅผ ๋ณ๊ฒฝํ ๊ฒฝ์ฐ ๋ค์ ์
๋ฐ์ดํธํด ์ฃผ์ด์ผ ํฉ๋๋ค.
์์ค ์์ ์ด ์๋ ๊ฒฝ์ฐ (๊ฐ๋จํ ์์ )¶
git status
๋ช
๋ น์ ๋ด๋ ธ์ ๋ "modified", "deleted" ๋ฑ์ผ๋ก ๋์ค๋ ํ์ผ์ด ์๋ค๋ฉด
ํด๋น ํ์ผ์ด ๋ณ๊ฒฝ๋ ๊ฒฝ์ฐ ์
๋ฐ์ดํธ์ ์ถฉ๋์ด ๋ฐ์ํ ์ ์์ต๋๋ค.
๋ผ์ด๋ฏน์ค๋ ์์๋ก ๋ณ๊ฒฝ๋๋ ๋ถ๋์ด ๋ง๊ธฐ ๋๋ฌธ์ ์ด๋ ํ์ผ๋ ์์ ํ์ง ์์ต๋๋ค!
๋ณ๊ฒฝ ๋ด์ญ์ด ๊ฐ๋จํ ๊ฒฝ์ฐ git stash
๋ฅผ ์ฌ์ฉํด์ ์์ค ์์ ์ด ์๋ ์ํ๋ก ์์ ์ ํํ ํ,
์
๋ฐ์ดํธ๋ฅผ ๋ง์น๊ณ ๊ธฐ์กด์ ๋ณ๊ฒฝ ๋ด์ญ์ ์ฌ์ ์ฉํ๋ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค.
์ฐ์ ์๋์ ๋ช ๋ น์ผ๋ก ๋ณ๊ฒฝ ๋ด์ญ์ ๋ฐ๋ก ์ ์ฅํฉ๋๋ค.
git stash
๋ณ๊ฒฝ ๋ด์ญ์ ๋ฐ๋ก ์ ์ฅํ๊ณ ๋์ git status
๋ช
๋ น์ ๋ด๋ ค๋ณด๋ฉด ์์ค ์์ ์ด ์๋ ์ํ๋ก ๋ณด์ผ ๊ฒ์
๋๋ค.
์ด ๋ ์๋์ ๋ช
๋ น์ผ๋ก ์
๋ฐ์ดํธ๋ฅผ ํฉ๋๋ค.
git pull
์ ๋ฐ์ดํธ๊ฐ ์ฑ๊ณตํ๋ฉด ์๋์ ๋ช ๋ น์ผ๋ก ๋ฐ๋ก ์ ์ฅํด ๋์๋ ๋ณ๊ฒฝ ๋ด์ญ์ ์ฌ์ ์ฉํฉ๋๋ค.
git stash apply
์ถฉ๋์ด ๋ฐ์ํ์ง ์์ผ๋ฉด ์ด๊ฒ์ผ๋ก ์ ๋ฐ์ดํธ๋ฅผ ๋ง์นฉ๋๋ค.
๋ง์ฝ ๋์ผํ ํ์ผ์ ๋์ผํ ๋ถ๋ถ์ด ๋ณ๊ฒฝ๋์๋ค๋ฉด ์ด ๋จ๊ณ์์ ์ถฉ๋์ด ๋ฐ์ํ ๊ฒ์
๋๋ค.
์ด ๊ฒฝ์ฐ ์ด๋ ํ์ผ์ด ์ถฉ๋์ธ์ง ํ๋ฉด์ ํ์๋๋, ์ฆ์ ํด๋น ๋ถ๋ถ์ ์ฐพ์์ ์์ ํด ์ฃผ์๊ธฐ ๋ฐ๋๋๋ค.
git์์ ์ถฉ๋ ํ์์ ์ฌ์ฉํ๋
์ถฉ๋ํ๋ ํ์ผ์ ๊ทธ๋๋ก ๋ฐฉ์นํ ๊ฒฝ์ฐ ๋ฐฑ์งํ์ ๋ฑ ์ฌ๊ฐํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค.
์์ ํ๊ฒ ์ ๋ฐ์ดํธ๊ฐ ๋๋ฌ๋ค๋ฉด ์๋์ ๋ช ๋ น์ผ๋ก ๋ฐ๋ก ์ ์ฅํด ๋์๋ ๋ณ๊ฒฝ ๋ด์ญ์ ์ญ์ ํฉ๋๋ค.
git stash clear
์์ค ์์ ์ด ์๋ ๊ฒฝ์ฐ (๋ํญ ์์ )¶
git์ ๋๋ถ๋ถ์ ์ํฉ์์ ์ปค๋ฐ(commit)์ ๊ธฐ์ค์ผ๋ก ๋ณ๊ฒฝ ๋ด์ญ์ ์ถ์ ํ๊ธฐ ๋๋ฌธ์,
์์ค ์์ ๋ถ๋์ด ๋ง์ ๊ฒฝ์ฐ ์ปค๋ฐ์ ํ์ง ์๋ stash ๋ฐฉ์์ผ๋ก ๋ณ๊ฒฝ ๋ด์ญ์ ๊ด๋ฆฌํ๊ธฐ์๋ ํ๊ณ๊ฐ ์์ต๋๋ค.
์ด ๋๋ ๋ณ๋์ ๋ธ๋์น์์ ๋ณ๊ฒฝ ๋ด์ญ์ ์ปค๋ฐํ ํ ๊ณต์ ๋ธ๋์น(master ๋๋ develop)์ mergeํ๋ ๊ณผ์ ์ด ํ์ํฉ๋๋ค.
์ฐ์ ๋ณ๋์ ๋ธ๋์น๋ฅผ ์์ฑํฉ๋๋ค. ๋ธ๋์น ์ด๋ฆ์ mybranch
๋์ ์ฌ์ดํธ ์ด๋ฆ ๋ฑ ์ฝ๊ฒ ๊ตฌ๋ถํ ์ ์๋ ๊ฒ์ ์ฌ์ฉํ์ญ์์ค.
git checkout -b mybranch
์ง๊ธ๊น์ง์ ๋ณ๊ฒฝ๋ด์ญ์ ๋ชจ๋ ์ปค๋ฐํฉ๋๋ค. (์๋์ ์์ ๋ ์๋ํํฐ ์๋ฃ ๋ฑ์ ๋ฌด์ํ๊ณ ์ฝ์ด ์์ ๋ถ๋ง ์ปค๋ฐํฉ๋๋ค.)
git add -u .
git commit -m "๋ณ๊ฒฝ๋ด์ญ ์ปค๋ฐ"
์ด์ ๋์ค์๋ ์ด๋ ์ ๋ ๊ท๋ชจ์ ๋ณ๊ฒฝ์ด ๋ฐ์ํ ๋๋ง๋ค ์ด๋ ๊ฒ ์ปค๋ฐ์ ํด์ฃผ๋ ๊ฒ์ด ์ข์ต๋๋ค.
๋ณ๊ฒฝ ๋ด์ญ ๋๋ฌธ์ ๋ฌธ์ ๊ฐ ์๊ฒผ์ ๋ ์ฝ๊ฒ ๋๋๋ฆด ์ ์์ผ๋๊น์.
๋ณ๊ฒฝ๋ด์ญ์ ์ปค๋ฐํ์ผ๋ฉด ๊ธฐ์กด์ ๋ธ๋์น์ ์ ๋ฐ์ดํธ ๋ด์ญ์ ๋ฐ์์ต๋๋ค. (ํ์ฌ ๋ธ๋์น๋ก ์ง์ ๋ฐ์์ค๋ฉด ์๋ฉ๋๋ค.)
git fetch origin master:master
git fetch origin develop:develop
ํ์ฌ ๋ธ๋์น๋ ๊ฑด๋๋ฆฌ์ง ๋ง๊ณ master๋ master๋ก, develop์ develop์ผ๋ก ๋ฐ์์ค๋ผ๋ ๋ป์
๋๋ค.
ํ์ master์ develop ์ค ํ๋๋ง ์ฌ์ฉํ์๋ ๊ฒฝ์ฐ ํ์ชฝ๋ง ์
๋ฐ์ดํธํ์
๋ ๋ฌด๋ฐฉํฉ๋๋ค.
์ ๋ฐ์ดํธ ์ ๋ณด๋ฅผ ๋ฐ์์์ผ๋ฉด ํ์ฌ ๋ธ๋์น์ mergeํฉ๋๋ค.
git merge master
ํ์ develop ๋ธ๋์น๋ฅผ ์ฌ์ฉํ์๋ ๊ฒฝ์ฐ ์ด ๋ช ๋ น์์ master ๋์ develop์ ์ฌ์ฉํ์ญ์์ค.
์ถฉ๋์ด ๋ฐ์ํ์ง ์์ผ๋ฉด ์ด๊ฒ์ผ๋ก ์ ๋ฐ์ดํธ๋ฅผ ๋ง์นฉ๋๋ค.
๋ง์ฝ ๋์ผํ ํ์ผ์ ๋์ผํ ๋ถ๋ถ์ด ๋ณ๊ฒฝ๋์๋ค๋ฉด ์ด ๋จ๊ณ์์ ์ถฉ๋์ด ๋ฐ์ํ ๊ฒ์
๋๋ค.
์ด ๊ฒฝ์ฐ ์ด๋ ํ์ผ์ด ์ถฉ๋์ธ์ง ํ๋ฉด์ ํ์๋๋, ์ฆ์ ํด๋น ๋ถ๋ถ์ ์ฐพ์์ ์์ ํด ์ฃผ์๊ธฐ ๋ฐ๋๋๋ค.
์ถฉ๋์ด ๋ฐ์ํ๋ ํ์ผ์ ๋ชจ๋ ์์ ํ ํ์๋ ๋ค์ ์ปค๋ฐ์ ํด์ฃผ์ด์ผ ํฉ๋๋ค.
git add -u .
git commit -m "์
๋ฐ์ดํธ"