Update

๋ผ์ด๋ฏน์Šค ์—…๋ฐ์ดํŠธ

๋ผ์ด๋ฏน์Šค๋Š” ํ™œ๋ฐœํ•˜๊ฒŒ ๊ฐœ๋ฐœ์ด ์ด๋ฃจ์–ด์ง€๊ณ  ์žˆ์œผ๋ฉฐ ์ˆ˜์‹œ๋กœ ์ƒˆ ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€, ๋ฒ„๊ทธ ์ˆ˜์ •, ๋ณด์•ˆํŒจ์น˜ ๋“ฑ์ด ์ด๋ฃจ์–ด์ง€๋ฏ€๋กœ
๋ผ์ด๋ฏน์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์šด์˜ํ•˜์‹œ๋Š” ์‚ฌ์ดํŠธ๋Š” ์ž์ฃผ ์—…๋ฐ์ดํŠธํ•˜์‹ค ์ค€๋น„๊ฐ€ ๋˜์–ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋ผ์ด๋ฏน์Šค๋Š” ํฌ๊ฒŒ ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์œผ๋กœ ์—…๋ฐ์ดํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ƒˆ ๋ฒ„์ „์œผ๋กœ ๋ฎ์–ด์”Œ์šฐ๊ธฐ

๋ผ์ด๋ฏน์Šค ์„ค์น˜ ๋ฐฉ๋ฒ•๊ณผ ๋™์ผํ•ฉ๋‹ˆ๋‹ค. ์ตœ์‹  ๋ฒ„์ „์„ ๋‹ค์šด๋กœ๋“œํ•˜์—ฌ ๊ธฐ์กด ์‚ฌ์ดํŠธ์— ๋ฎ์–ด์”Œ์›๋‹ˆ๋‹ค.

๋ชจ๋“  ์„ค์ •๊ณผ ์ฒจ๋ถ€ํŒŒ์ผ ๋“ฑ์€ 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 "์—…๋ฐ์ดํŠธ"