Skip to main content

๐Ÿค 25๋…„ 8์›” ํšŒ๊ณ 

19 min read
Ju young Lee
A contribution-driven developer

์˜คํ”ˆ ๋‹ฅํ„ฐ ์ œํ’ˆํŒ€์— 7์›”์— ์ž…์‚ฌํ•ด์„œ ์˜จ๋ณด๋”ฉ์„ ์ง€๋‚˜ 8์›”๋ถ€ํ„ฐ ๋ณธ๊ฒฉ์ ์œผ๋กœ ๋‚ด๋ถ€์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์†”๋ฃจ์…˜ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๊ธฐ๋Šฅ์„ ๋‹ด๋‹นํ•˜๊ณ  ์žˆ๋‹ค.

DB์™€ ๋ฐฑ์—”๋“œ ์ฝ”๋“œ๋„ ํ‹ˆํ‹ˆํžˆ ์‚ดํŽด๋ณด๋ฉด์„œ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ์ฐพ์•„๊ฐ€๋ฉฐ ์ดํ•ดํ•˜๋ ค๊ณ  ํ•˜๊ณ  ์žˆ์ง€๋งŒ ๋กœ์ง๋“ค์ด ๋ณต์žกํ•ด์„œ ํ•ด๋งฌ ๋•Œ๊ฐ€ ๋ถ€์ง€๊ธฐ์ˆ˜์ด๋‹ค. ๋™๋ฃŒ๋“ค๊ณผ ์‚ฌ์ˆ˜๋ถ„์˜ ๋„์›€์œผ๋กœ ๋น ๋ฅด๊ฒŒ ์ ์‘ํ•ด๊ฐ€๊ณ  ์žˆ๋‹ค. ๐Ÿ™๐Ÿผ๐Ÿ™๐Ÿผ

์šฐ์„  8์›” ํ•œ ๋‹ฌ๊ฐ„ ์ผํ•˜๋ฉด์„œ ํ•˜๋ฃจํ•˜๋ฃจ ๋ฐฐ์›Œ๋‚˜๊ฐ€๋Š” ๊ฒŒ ๋งŽ์•˜๋‹ค. ๊ฐ€์žฅ ํฌ๊ฒŒ ๋“  ์ƒ๊ฐ์€ ํ•„์š”ํ•œ ๊ธฐ๋Šฅ์„ ๋น ๋ฅด๊ณ  ์ž˜ ๋งŒ๋“œ๋Š” ์—ญ๋Ÿ‰์„ ํ‚ค์›Œ์•ผ๊ฒ ๋‹ค๋Š” ๊ฒƒ์„ ๋А๊ผˆ๋‹ค. ๋˜ํ•œ ์ผ์ •์„ ๋งž์ถฐ ๊ฐœ๋ฐœํ•˜๋Š” ํ›ˆ๋ จ์ด ํ•„์š”ํ•˜๋‹ค๋Š” ๊ฒƒ์„ ๋А๊ผˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ์Šคํ”„๋ฆฐํŠธ ํ”Œ๋ž˜๋‹ ๋ฏธํŒ…์„ 2์ฃผ ๊ฐ„๊ฒฉ์œผ๋กœ ์ง„ํ–‰ํ•˜๊ณ  ์žˆ๋‹ค. 2์ฃผ๊ฐ„์˜ ์Šคํ”„๋ฆฐํŠธ์— ๋‚ด๊ฐ€ ํ•  ์ผ๋“ค์„ ์ œํ’ˆํŒ€ ์•ˆ์—์„œ ๊ณต์œ ํ•˜๋Š”๋ฐ 8์›”์—๋Š” ํ‰๊ท ์ ์œผ๋กœ ๋‚ด๊ฐ€ ๊ณต์œ ํ•œ ์ผ์ •๋ณด๋‹ค ์ตœ์†Œ 1.5๋ฐฐ์—์„œ ์ตœ๋Œ€ 2๋ฐฐ๊นŒ์ง€ ๊ฑธ๋ฆฌ๋Š” ๊ฒƒ์„ ๋ณด๋ฉด์„œ ์ˆ˜์Šต ๊ธฐ๊ฐ„์— ์ด ๊ฐญ์„ ์ค„์ด๋Š”๋ฐ ์ง‘์ค‘ํ•ด์•ผ๊ฒ ๋‹ค๊ณ  ๋А๊ผˆ๋‹ค. PO๋‹˜์ด ๊ทธ ๊ฐญ์„ ์ค„์ด๊ธฐ ์œ„ํ•ด ๋‚˜์•„๊ฐ€์•ผ ํ•  ๋ฐฉํ–ฅ์„ ์ œ์‹œํ•ด์ฃผ์…”์„œ ์ง„์‹ฌ์œผ๋กœ ๊ฐ์‚ฌํ–ˆ๋‹ค. ์ˆ˜์Šต ๊ธฐ๊ฐ„์— ์ฒ ์ €ํžˆ ์—ฐ์Šตํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค.

์ผ์ •์ด ๋ฐ€๋ฆฌ๋Š” ์›์ธ์€ ๋ณตํ•ฉ์ ์ด๋‹ค. ์ด๋ฅผ ๋ณธ ํฌ์ŠคํŠธ์—์„œ ์ด์Šˆ ํŠธ๋ฆฌ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ์ •์˜ํ•ด๋ณด์•˜๊ณ  ์ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ 9์›”์—๋Š” ์†”๋ฃจ์…˜ ํ”ผ์ฒ˜๋ฅผ ์ผ์ •์— ๋งž์ถฐ์„œ ๊ฐœ๋ฐœํ•˜๋Š” ์—ฐ์Šต ๋ฐ ํŒ€์— ๋” ๋…น์•„๋“ค ์ˆ˜ ์žˆ๋„๋ก ํž˜ ์จ๋ณผ ์˜ˆ์ •์ด๋‹ค.

๋“ค์–ด๊ฐ€๋ฉฐโ€‹

๋‹ค์‹œ ํ•œ๋ฒˆ ์ ๊ฒ€ํ•˜๊ณ  ๊ฐ€๋Š” Git!โ€‹

Git์€ ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์ด๋‹ค. ์ฆ‰ ํŒŒ์ผ์˜ ๋ณ€ํ™”๋ฅผ ์‹œ๊ฐ„์— ๋”ฐ๋ผ ๊ธฐ๋กํ–ˆ๋‹ค๊ฐ€ ํŠน์ • ์‹œ์ ์˜ ๋ฒ„์ „์œผ๋กœ ๋Œ์•„๊ฐˆ ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ์‹œ์Šคํ…œ์ด๋‹ค. ์ด๊ฒŒ ์™œ ํ•„์š”ํ•œ๊ฐ€? ์ƒ๊ฐํ•ด๋ณด๋ฉด, ๋งŒ์•ฝ ์–ด์ œ ์ˆ˜์ •ํ•œ ํŒŒ์ผ์—์„œ๋Š” ๋ฌธ์ œ๋ฅผ ๋ฐœ์ƒ์‹œํ‚ค์ง€ ์•Š์•˜๋Š”๋ฐ ์˜ค๋Š˜ ์ˆ˜์ •ํ•œ ํŒŒ์ผ์—์„œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒ๋  ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค. ์ด๋Ÿด ๋•Œ ์œ ์šฉํ•˜๋‹ค. ๋งŒ์•ฝ ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ์ผ๋ฐ˜์ ์ธ GUI์ธ ํด๋” ์•ˆ์—์„œ ํŒŒ์ผ ํ˜•ํƒœ๋กœ๋งŒ ๊ด€๋ฆฌํ•˜๊ณ  ์žˆ์„ ๊ฒฝ์šฐ๋ผ๋ฉด, ์ง์ ‘ ์˜ค๋Š˜ ์ˆ˜์ •ํ•˜๊ธฐ ์ „ ์ƒํƒœ๋ฅผ ๊ธฐ์–ตํ•˜๊ณ  ์˜ค๋Š˜ ์ˆ˜์ •ํ•œ ๋ถ€๋ถ„์„ ์–ด์ œ ์ƒํƒœ๋กœ ์ง์ ‘ ๋˜๋Œ๋ ค์•ผ ํ•˜๋Š”๋ฐ ์ด๋Š” ํœด๋จผ ์—๋Ÿฌ๋ฅผ ๋ฐœ์ƒ์‹œํ‚ฌ ์ˆ˜๋ฐ–์— ์—†๋‹ค. ๊ทธ๋ž˜์„œ Git์ด ํ•„์š”ํ•˜๋‹ค.

Git์€ ์—ฌ๋Ÿฌ ๋ช…์˜ ์ž‘์—…์ž๊ฐ€ ํ•˜๋‚˜์˜ ํด๋”๋ฅผ ์ˆ˜์ •ํ•˜๋Š” ๊ฒƒ์„ ์›ํ™œํ•˜๊ฒŒ ํ•ด์ค€๋‹ค.

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

1. ์˜คํ”ˆ ๋‹ฅํ„ฐ์˜ ๋ธŒ๋žœ์น˜ ์ „๋žต ๋ฐ ๋ณ‘ํ•ฉ ๋ฐฉ์‹

์šฐ๋ฆฌ๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹์ด ์ •๋‹ต์€ ์•„๋‹ ๊ฒƒ์ด๋‹ค. ์ด๋ ‡๊ฒŒ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ตฌ๋‚˜ ์ฐธ๊ณ ํ•˜๋ฉด ํ•ด์ฃผ์‹œ๋ฉด ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” git flow ์ „๋žต์„ ๊ฐ„์†Œํ™”ํ•˜์—ฌ ํ™œ์šฉํ•˜๊ณ  ์žˆ๋‹ค.

img alt="model"

์šฐ์„  ํฌ๊ฒŒ main, develop ๊ทธ๋ฆฌ๊ณ  feature ๋ธŒ๋žœ์น˜๊ฐ€ ์กด์žฌํ•œ๋‹ค. main ๋ธŒ๋žœ์น˜๋Š” ์‹ค์ œ ์šด์˜ ์ค‘์ธ ํ”„๋กœ๊ทธ๋žจ์˜ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ  ์žˆ๊ณ  develop์—์„œ๋Š” ์‹ค์ œ ์šด์˜ ์„œ๋ฒ„์— ์ฆ‰์‹œ ๋ฐฐํฌ๋˜์–ด๋„ ๋ฌธ์ œ์—†๋Š” ์‹œ์ ์˜ ๊ธฐ๋Šฅ๋“ค์ด ์Œ“์—ฌ์žˆ๋Š” ๋ธŒ๋žœ์น˜์ด๋‹ค.

๊ทธ๋ฆฌ๊ณ  ํ•œ ๊ฐ€์ง€ feature ๋ธŒ๋žœ์น˜๊ฐ€ ์žˆ๋Š”๋ฐ feature ๋ธŒ๋žœ์น˜๋Š” ํ•˜๋‚˜์˜ ๊ธฐ๋Šฅ์ด ํฐ ๊ธฐ๋Šฅ์ผ ๊ฒฝ์šฐ, ๋”ฐ๋กœ feature ๋ธŒ๋žœ์น˜๋ฅผ ๋งŒ๋“ค๊ณ  ์ด ์•ˆ์—์„œ feat/fix/refactor ๋ธŒ๋žœ์น˜๋ฅผ ๋งŒ๋“ค์–ด ์ž‘์—…์„ ์ง„ํ–‰ํ•œ๋‹ค. ํฐ ๊ธฐ๋Šฅ์„ ๋” ์ •ํ™•ํžˆ ์ •์˜ํ•ด๋ณด๋ฉด ์—ฌ๋Ÿฌ ๊ธฐ๋Šฅ๋“ค์ด ์กฐํ•ฉ๋œ ํ•˜๋‚˜์˜ ๊ธฐ๋Šฅ์„ ๋งํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ํŠน์ • ํŽ˜์ด์ง€ ๋””์ž์ธ ๋ฐ˜์˜์ด๋ผ๊ณ  ํ–ˆ๋Š”๋ฐ, ํ•ด๋‹น ๋””์ž์ธ์„ ๋ฐ˜์˜ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ปดํฌ๋„ŒํŠธ๋„ ๊ตฌํ˜„ํ•ด์•ผ ํ•˜๊ณ  ๋ ˆ์ด์•„์›ƒ๋„ ๋ฐ˜์˜ํ•ด์•ผ ํ•˜๊ณ  ๊ธฐ๋Šฅ๋„ ๋ฐ˜์˜ํ•ด์•ผ ํ•  ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋Š”๋ฐ ์ด๋ฅผ ํฐ ๊ธฐ๋Šฅ์ด๋ผ๊ณ  ๋งํ•  ์ˆ˜ ์žˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๋™๋ฃŒ๋“ค๊ณผ ์ฝ”๋“œ ๋ฆฌ๋ทฐ๋ฅผ ํ†ตํ•ด feat/fix/refactor์˜ ๋ธŒ๋žœ์น˜์˜ HEAD๊ฐ€ feature๋ฉด feature ๋ธŒ๋žœ์น˜๋กœ ๋ณ‘ํ•ฉํ•˜๊ณ  develop์ด๋ฉด develop ๋ธŒ๋žœ์น˜๋กœ ๋ณ‘ํ•ฉํ•˜๋Š” ๊ณผ์ •์„ ๊ฑฐ์นœ๋‹ค. ๊ทธ ์ดํ›„ ์ •ํ•ด์ง„ ์‹œ๊ฐ„์— main ๋ธŒ๋žœ์น˜๋กœ ๋ณ‘ํ•ฉ ํ›„ ๋ฐฐํฌ๋ฅผ ์™„๋ฃŒํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ง„ํ–‰๋œ๋‹ค.

2. git reflog ๊ณ ๋งˆ์›Œ...

์‹ค๋ก€๋กœ ํ•˜๋‚˜์˜ ์—ํ”ผ์†Œ๋“œ๊ฐ€ ์žˆ์—ˆ๋‹ค. ์‹ค์ˆ˜๋กœ 3์ผ๊ฐ„ ์ž‘์—…ํ•œ ๋‹ฌ๋ ฅ ์ปดํฌ๋„ŒํŠธ์™€ ํ•ด๋‹น ๊ธฐ๋Šฅ์„ ์•„์˜ˆ ์‚ญ์ œํ•ด๋ฒ„๋ ธ๋‹ค. ์˜๋„ํ•ด์„œ ์‚ญ์ œํ•œ ๊ฒƒ์€ ์•„๋‹ˆ๊ณ  ๊ผฌ์ธ develop ๋ธŒ๋žœ์น˜๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๊ณผ์ •์—์„œ ๋ธŒ๋žœ์น˜๋ฅผ ์ž˜๋ชป ์‚ญ์ œํ–ˆ์—ˆ๋‹ค. feat/์ง€๋ผํ‹ฐ์ผ“๋ช… ๋ฐฉ์‹์œผ๋กœ ๋ธŒ๋žœ์น˜๋ฅผ ๋งŒ๋“œ๋Š”๋ฐ ์ž˜๋ชป ๋ณด๊ณ  ์•„์˜ˆ ์‚ญ์ œํ•ด๋ฒ„๋ฆฐ ๊ฒƒ์ด๋‹ค.

๋ฐ˜์ „) ๋•๋ถ„์— git reflog ๋ช…๋ น์–ด์— ๋Œ€ํ•ด ์ด๋ฒˆ์— ์•Œ๊ฒŒ ๋๋‹ค.

๋งŒ์•ฝ ๋‚ด๊ฐ€ ํž˜๋“ค๊ฒŒ ์ž‘์—…ํ•œ ์ปค๋ฐ‹์ด ๋‚ ์•„๊ฐ„๋‹ค๋ฉด??? ์–ด๋–ป๊ฒŒ ํ•  ์ˆ˜ ์žˆ์„๊นŒ?

์ด๋Ÿด ๋•Œ git reflog๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์ž‘์—…ํ•œ ์ปค๋ฐ‹์ด ๋‚ ์•„๊ฐ€๋Š” ๊ฑด ์—ฌ๋Ÿฌ ์ƒํ™ฉ์— ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค. reset hard๋ฅผ ํ–ˆ๋‹ค๊ฑฐ๋‚˜ ํŠน์ • ์‹œ์ ์œผ๋กœ ์ด๋™ํ•˜๋ฉด์„œ ๋ˆ„๋ฝ๋œ ์ปค๋ฐ‹์ด ์žˆ๊ฑฐ๋‚˜, ๋™๋ฃŒ์˜ ์ž‘์—… ์ปค๋ฐ‹์„ ์˜๋„ํ•˜์ง€ ์•Š๊ณ  ์‚ญ์ œํ•ด๋ฒ„๋ ธ๋‹ค๊ฑฐ๋‚˜... ๋“ฑ๋“ฑ ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค. ์ฐพ์•„๋ณด๋‹ˆ reflog๋Š” HEAD๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” ์ปค๋ฐ‹์ด ๋ฐ”๋€” ๋•Œ๋งˆ๋‹ค ์‚ฌ์šฉํ•˜๋Š” ๊ฐœ๋ฐœ์ž ๋ชฐ๋ž˜ ์ž๋™์œผ๋กœ ๊ทธ ์ปค๋ฐ‹์„ ํŠน์ • ๊ณต๊ฐ„์— ๊ธฐ๋กํ•œ๋‹ค๊ณ  ๊ณต์‹๋ฌธ์„œ์—์„œ ์ •์˜ํ•œ๋‹ค. ์ด๋ฅผ ์ •ํ™•ํžˆ ์ดํ•ดํ•ด๋ณด์ž.

์šฐ์„  HEAD๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” ์ปค๋ฐ‹์ด ๋ฐ”๋€” ๋•Œ๋งˆ๋‹ค๋Š” ์–ธ์ œ์ธ๊ฐ€?

HEAD๋Š” ๋ธŒ๋žœ์น˜์˜ ์ตœ์‹  ์ปค๋ฐ‹์„ ๊ฐ€๋ฆฌํ‚ค๋Š” ํฌ์ธํ„ฐ์ด๋‹ค. ๋งŒ์•ฝ develop ๋ธŒ๋žœ์น˜์—์„œ feat/Undo ๋ผ๋Š” ๋ธŒ๋žœ์น˜๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณด์ž. ์—ฌ๊ธฐ์„œ ์ž‘์—… ๋‹จ์œ„๋กœ ์ปค๋ฐ‹์„ ์ž‘์„ฑํ•ด์„œ 10๊ฐœ์˜ ์ปค๋ฐ‹์ด ์Œ“์—ฌ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ด๋ณด๋ฉด 10๊ฐœ ์ค‘ ๋งˆ์ง€๋ง‰ ์ปค๋ฐ‹์ด ํ•ด๋‹น ๋ธŒ๋žœ์น˜์˜ HEAD์ธ ๊ฒƒ์ด๋‹ค.

๊ทธ๋ž˜์„œ HEAD๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” ์ปค๋ฐ‹์€ ๋งˆ์ง€๋ง‰ ์ปค๋ฐ‹์„ ๋งํ•˜๊ณ  ๋งˆ์ง€๋ง‰ ์ปค๋ฐ‹์ด ๋ฐ”๋€” ๋•Œ๋งˆ๋‹ค๋กœ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฆ‰ ์ปค๋ฐ‹์„ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ ๋˜๋Œ๋ฆด ๋•Œ reflog๊ฐ€ ์ž๋™์œผ๋กœ ์‹คํ–‰๋œ๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค. ๊ทธ๋ž˜์„œ ๋‹ค์‹œ ๋Œ์•„์˜ค๋ฉด reflog๋Š” ์ปค๋ฐ‹์˜ ๋ฐœ์ž์ทจ๋ฅผ ๋Œ์•„๋ณผ ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๋ช…๋ น์–ด๋‹ค. ์‹ฌ์ง€์–ด ์‹ค์ˆ˜๋กœ ์‚ญ์ œํ•œ ์ปค๋ฐ‹๋„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์„ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋‹ค์‹œ ์‚ด๋ฆด ์ˆ˜ ์žˆ๋‹ค. ์ด์ œ ๋” ์ด์ƒ ๋‘๋ ค์›Œํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค.

์˜ˆ์ œ๋ฅผ ํ™œ์šฉํ•ด์„œ ํ™•์ธํ•ด๋ณด์ž

$ git log --pretty=oneline
fdf4fc3344e67ab068f836878b6c4951e3b15f3d ๋™๋ฃŒ์˜ ์ปค๋ฐ‹
cac0cab538b970a37ea1e769cbbde608743bc96d ๋‚ด ์ปค๋ฐ‹

๋™๋ฃŒ์˜ ์ปค๋ฐ‹์„ ์‹ค์ˆ˜๋กœ ์‚ญ์ œํ•ด๋ฒ„๋ ธ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณด์ž.

$ git log --pretty=oneline
cac0cab538b970a37ea1e769cbbde608743bc96d ๋‚ด ์ปค๋ฐ‹

reflog๋ฅผ ํ™œ์šฉํ•ด์„œ ์‚ญ์ œ ํ˜น์€ ๋ˆ„๋ฝ๋œ ์ปค๋ฐ‹์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

$ git reflog
1a410ef HEAD@{0}: reset: moving to cac0cab
fdf4fc3 HEAD@{1}: commit: ๋™๋ฃŒ์˜ ์ปค๋ฐ‹

๊ทธ๋ฆฌ๊ณ  git switch -c fdf4fc3๋ฅผ ํ•˜๋ฉด ํ•ด๋‹น ๋ธŒ๋žœ์น˜๋ฅผ ์‚ด๋ฆด ์ˆ˜ ์žˆ๋‹ค. ์ด๋Ÿฐ ๋ฐฉ์‹์œผ๋กœ 3์ผ์— ๊ฑธ์ณ ๊ตฌํ˜„ํ•œ ์ปดํฌ๋„ŒํŠธ์™€ ๊ธฐ๋Šฅ์„ ์‚ด๋ ค๋‚ผ ์ˆ˜ ์žˆ์—ˆ๋‹ค... ์ž‘์ง€๋งŒ ๋†€๋ž๋˜ ์ผ์ด์–ด์„œ ๊ณต์œ ํ•ด๋ณธ๋‹ค.

2. git merge์™€ Rebase ๋™์ž‘ ์›๋ฆฌ

TODO : ์ด ๋ถ€๋ถ„์€ ๋”ฐ๋กœ ์ง€์‹ ํ•™์Šต์—์„œ ๋‹ค๋ค„๋ณด๋ ค๊ณ  ํ•œ๋‹ค.

3. ๋‚ด ์‹ค์ˆ˜๋ฅผ ๋Œ์•„๋ณด์ž

TODO : ์ด ๋ถ€๋ถ„์€ ๋”ฐ๋กœ ์ง€์‹ ํ•™์Šต > ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ…์—์„œ ๋‹ค๋ค„๋ณด๋ ค๊ณ  ํ•œ๋‹ค.

์ผ์ • ์˜ˆ์ธก์„ ๋ณด๋‹ค ์ž˜ํ•  ์ˆ˜ ์žˆ๊ธธ ๋ฐ”๋ผ๋ฉฐโ€‹

์™œ ์ผ์ •์„ ์ง€์ผœ ๊ฐœ๋ฐœํ•˜๋Š” ๊ฒŒ ์–ด๋ ค์šธ๊นŒ?

์—ฌ๋Ÿฌ ์ด์œ ๊ฐ€ ์กด์žฌํ•  ๊ฒƒ ๊ฐ™๋‹ค. ์ด๋ฅผ ์กฐ๊ธˆ ๋” MECEํ•˜๊ฒŒ ์ชผ๊ฐœ๋ณด๋ ค๊ณ  ํ•œ๋‹ค.

img alt="model"

์˜คํ”ˆ ๋‹ฅํ„ฐ ์˜จ๋ณด๋”ฉ ๊ต์œก์„ ํ†ตํ•ด MECE์ ์œผ๋กœ ์ด์Šˆ ํŠธ๋ฆฌ๋ฅผ ์•Œ๊ฒŒ ๋๊ณ  ์ด๋ฅผ ๊ฐœ์ธ์ ์œผ๋กœ ์—ฐ์Šตํ•ด๋ณด์•˜๋‹ค. MECE๋Š” ๊ฒน์น˜์ง€ ์•Š๊ณ (Mutually Exclusive) ๋น ์ง์—†์ด(Collectively Exhaustive)์˜ ์•ฝ์ž์ด๊ณ  ์ •๋ณด๋ฅผ ๋‚˜๋ˆ„๋Š” ์›์น™์ด๋‹ค.

๋‚˜๋Š” `์ผ์ •์„ ์ง€ํ‚ค๊ฒจ ๊ฐœ๋ฐœํ•˜๊ธฐ๊ฐ€ ์‰ฝ์ง€ ์•Š๋‹ค...'๋ฅผ ๋ฌธ์ œ๋กœ ๋ณด์•˜๋‹ค. ๋จผ์ €๋Š” ์ผ์ • ๊ณ„ํš ์ž์ฒด๊ฐ€ ๋ฌธ์ œ ์›์ธ์ธ์ง€ ์‹คํ–‰๋‹จ์ด ๋ฌธ์ œ ์›์ธ์ธ์ง€ ๋‚˜๋ˆ„์–ด ์ƒ๊ฐํ•ด๋ณด์•˜๋‹ค.

์ตœ์ƒ์œ„ ๊ตฌ๋ถ„ : ๊ณ„ํš vs ์‹คํ–‰

๊ทธ๋กœ ์ธํ•ด ๊ณ„ํš ๋‹จ๊ณ„์—์„œ ๋‚ด๊ฐ€ ๋†“์ณค๋˜ ๋ถ€๋ถ„๋“ค์„ ์•Œ๊ฒŒ ๋๋‹ค.

  1. ์ผ์ • ์‚ฐ์ •ํ•˜๋Š” ์Šคํ”„๋ฆฐํŠธ ๋ฏธํŒ… ๋•Œ ๋‹ค๊ฐ€์˜ฌ 2์ฃผ๊ฐ„ ์˜ˆ์ •๋œ ๋ฏธํŒ… ํ˜น์€ ์ผ์ •์„ ํฌํ•จํ•˜์ง€ ์•Š๊ณ  ์ˆœ์ˆ˜ ๊ฐœ๋ฐœ์— ์†Œ์š”๋  ์ฝ”๋”ฉ ์‹œ๊ฐ„๋งŒ ์ƒ๊ฐํ•˜๊ณ  ๊ณต์œ ํ–ˆ๋‹ค.
  2. ์ˆ˜์ • ๋ฐ ๊ฐœ์„ ํ•ด์•ผ ํ•˜๋Š” ๊ธฐ๋Šฅ์˜ ํ˜„์žฌ ์ฝ”๋“œ ํŒŒ์•…์„ ํ•˜์ง€ ์•Š๊ณ  ์ผ์ •์„ ์‚ฐ์ •ํ–ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์‹คํ–‰ ๋‹จ๊ณ„์—์„œ ๋‚ด๊ฐ€ ๋†“์ณค๋˜ ๋ถ€๋ถ„ ๋˜ํ•œ ์•Œ๊ฒŒ ๋๋‹ค.

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

์šฐ์„  ์ด๋ ‡๊ฒŒ 4๊ฐœ ํฌ์ธํŠธ๋ฅผ ์–ป๊ฒŒ ๋๊ณ  ๋‹ค์Œ ์Šคํ”„๋ฆฐํŠธ์—๋Š” ๋ณด๋‹ค ์ผ์ •์„ ์ž˜ ์‚ฐ์ •ํ•ด๋ณด๊ณ  ์‹คํ–‰์„ ๋ณด๋‹ค ์ •ํ™•ํ•˜๊ฒŒ ํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค.

ํŒ€ ๋‚ด ์Šคํ”„๋ฆฐํŠธ ํšŒ๊ณ ์—์„œ๋Š” ์šฐ์„  ์ผ์ •์„ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ƒ๊ฐํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค 2๋ฐฐ ๊ทธ๋ฆฌ๊ณ  ์ผ์ • ์‚ฐ์ •์ด ์–ด๋ ค์šธ ๋•Œ๋Š” ์ตœ๋Œ€ 3๋ฐฐ๊นŒ์ง€ ์ผ์ •์„ ์‚ฐ์ •ํ•ด๋ณด๋ผ๊ณ  ํŒ์„ ์ฃผ์…จ๊ณ  ๊ทธ ๊ฐญ์„ ์ค„์—ฌ๊ฐ€๋ฉด ์ข‹๋‹ค๊ณ  PO๋‹˜๊ป˜์„œ ๋ง์”€ํ•ด์ฃผ์…จ๋‹ค. ํ•œ๋ฒˆ ์ž˜ ์ค„์—ฌ๋ณด์ž.

์ˆ˜์Šต ์ค‘๊ฐ„ ํ”ผ๋“œ๋ฐฑโ€‹

์˜คํ”ˆ ๋‹ฅํ„ฐ์— ์˜จ ์ง€ ํ•œ ๋‹ฌ์ด ์กฐ๊ธˆ ๋„˜์€ ์‹œ๊ฐ„์—์„œ ์ˆ˜์Šต ์ค‘๊ฐ„ ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ์‹œ๊ฐ„์ด ์žˆ์—ˆ๋‹ค. ๊ฐœ์ธ์ ์œผ๋กœ ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ›๋Š”๊ฒƒ์— ๋Œ€ํ•ด ๋‘๋ ค์›€์ด ์—†๋Š” ๊ฒŒ ๋‚˜์˜ ํฐ ์žฅ์ ์ด๋‹ค. ์‹ค์€ ๊ฐ์‚ฌ๋กœ ๋ฐ›๋Š”๋‹ค. ์–ด๋ฆด ์ ๋ถ€ํ„ฐ ๊ณต๋™์ฒด์—์„œ ์™œ ๊ทธ๋ ‡๊ฒŒ ํ”ผ๋“œ๋ฐฑ์„ ๋งŽ์ด ์ฃผ๋˜์ง€... (ใ…Žใ…Ž ๋ฌธ์ œ๊ฐ€ ๋งŽ์•˜๋‚˜๋ณด๋‹ค...) ๋“œ๋Ÿผ์ด๋ผ๋Š” ์•…๊ธฐ๋ฅผ ์˜ค๋ž˜ ์น˜๋ฉด์„œ ๋‹ค๋ฅธ ์•…๊ธฐ๋“ค๊ณผ ํ•ฉ์„ ๋งž์ถ”๋Š” ๊ณผ์ •์—์„œ ์•„ํ”ˆ ํ”ผ๋“œ๋ฐฑ๋ถ€ํ„ฐ ๊ฑด์„ค์ ์ธ ํ”ผ๋“œ๋ฐฑ๊นŒ์ง€ ์—ฌ๋Ÿฌ ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ›์•„์™”๋‹ค. ๊ทธ๋ž˜์„œ ๊ทธ๋Ÿฐ์ง€ ๊ตณ์€ ์‚ด์ด ๋ฐ•ํ˜€์žˆ๋Š” ๊ฒƒ ๊ฐ™๋‹ค.

์ด๋Ÿฐ ๋‚˜๋Š” ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒŒ ๊ฐ์‚ฌํ–ˆ๋‹ค. ์šฐ์„  ํšŒ์˜๋ฅผ ์žก๊ณ  ๋‹ค ๊ฐ™์ด ํšŒ์˜์‹ค์— ๋ชจ์˜€๋‹ค. ๋ถ€๋“œ๋Ÿฌ์šด ๋ถ„์œ„๊ธฐ๋ฅผ PO๋‹˜๊ป˜์„œ ๋งŒ๋“ค์–ด์ฃผ์…จ๋Š”๋ฐ ์ด๊ฒŒ ์ •๋ง ๋„์›€์ด ๋๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ฐœ๋ฐœํŒ€ ๋™๋ฃŒ๋ถ„๋“ค์ด ํ•œ ๋ช…์”ฉ ๋Œ์•„๊ฐ€๋ฉฐ CSS(Continue / Stop / Start) ๊ธฐ๋ฐ˜์œผ๋กœ ํ”ผ๋“œ๋ฐฑ์„ ์ฃผ์…จ๋Š”๋ฐ ๊ฒฐ๋ก ๋ถ€ํ„ฐ ๊ณต์œ ํ•ด๋ณด๋ฉด ์ •๋ง ์ข‹์•˜๋‹ค. ํ”ผ๋“œ๋ฐฑ์˜ ๋‚ด์šฉ์€ ๋…ธ์…˜์— ์กด์žฌํ•˜์ง€๋งŒ ๋”ฐ๋กœ ์ •๋ฆฌํ•ด๋ณด์•˜๋‹ค.

img alt="model"

์ด๋Ÿฐ ๊ท€ํ•œ ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ์—ˆ๋‹ค. ํ˜ผ์ž ์ผํ•˜๋ฉด์„œ ๊ฐ„์ ˆํ–ˆ๋˜ ํ”ผ๋“œ๋ฐฑ์„ ์ด๋ ‡๊ฒŒ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค๋‹ˆ ์ง„์‹ฌ์œผ๋กœ ๊ฐ์‚ฌํ–ˆ๋‹ค. ์œ„์˜ ํ”ผ๋“œ๋ฐฑ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์—…๋ฌด ์ฒดํฌ๋ฆฌ์ŠคํŠธ๋ฅผ ๋งŒ๋“ค๋ฉด ๋˜๊ฒ ๋‹ค๋Š” ์ธ์‚ฌ์ดํŠธ๊ฐ€ ์žˆ์—ˆ๊ณ  ๊ทธ๋ž˜์„œ ๋งŒ๋“ค์–ด๋ดค๋‹ค. ์•ž์œผ๋กœ ๋” ๋งŽ์€ ํ”ผ๋“œ๋ฐฑ์ด ์žˆ๊ฒ ์ง€๋งŒ ์—…๋ฌด ์ฒดํฌ๋ฆฌ์ŠคํŠธ๋งŒ ์ž˜ ๊ด€๋ฆฌํ•˜๋ฉด ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์ง€ ์•Š์„๊นŒ ์‹ถ์–ด ๊ณต์œ ํ•ด๋ณธ๋‹ค.

img alt="model"

๋‹ค๋“ค ๋‚˜๋ฅผ ํŒŒ์›Œ J๋ผ๊ณ  ํ•˜๋Š”๋ฐ, ์ด๋ ‡๊ฒŒ ์•ˆ ํ•˜๋ฉด ๋‚ด ๊ธฐ์กด ์Šต๊ด€๋“ค์„ ๊ณ ์น˜๋Š”๋ฐ ์–ด๋ ต๋‹ค๊ณ  ๋А๊ผˆ๋‹ค...

ํ•˜๋ฐ˜๊ธฐ์— ์ฒดํฌ๋ฆฌ์ŠคํŠธ๋ฅผ ๋‹ค๋“ฌ์–ด๋ณด๋ฉด์„œ ๋ถˆํ•„์š”ํ•œ ๊ฒƒ๋“ค์€ ์ œ๊ฑฐํ•˜๊ณ  ํ•„์š”ํ•œ ๊ฒƒ๋“ค์€ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋”์šฑ ์ผํ•˜๊ธฐ ํŽธํ•œ ๋™๋ฃŒ๊ฐ€ ๋˜์–ด๋ณด๊ธฐ๋กœ ๋‹ค์งํ•ด๋ณธ๋‹ค.


๋งˆ์น˜๋ฉฐโ€‹

8์›”์€ ์ˆ˜๋งŽ์€ ์‹œํ–‰์ฐฉ์˜ค๋กœ ํŒ€ ์•ˆ์—์„œ ํ•จ๊ป˜ ์ผํ•˜๋Š” ๋ฐฉ์‹์„ ๋ฐฐ์šฐ๊ณ  ์ตํžˆ๋Š” ๊ณผ์ •์ด์—ˆ๋‹ค. ๋‹ค์‹œ ํ•œ๋ฒˆ ๋™๋ฃŒ๋“ค์—๊ฒŒ ๊ฐ์‚ฌํ•˜๊ณ  ๋‹ค๊ฐ€์˜ค๋Š” 9์›”์—๋Š” ๋ณด๋‹ค ํ•จ๊ป˜ ์ผํ•˜๊ธฐ ์ข‹์€ ๋™๋ฃŒ๊ฐ€ ๋˜์–ด๋ณด๊ธธ ๊ธฐ๋Œ€ํ•ด๋ณธ๋‹ค.

8์›”์„ ๋Œ์•„๋ณด๊ณ  9์›” Action Point๋ฅผ ์ž‘์„ฑํ•ด๋ณด์ž

  • ๋‚ด๋ถ€ CRM ๊ฐœ์„  ์ž‘์—… ๋ณธ๊ฒฉ ์ง„ํ–‰
    • Undo ๊ธฐ๋Šฅ ๊ตฌํ˜„ (๋Œ€๋žต ํ•œ ํŽ˜์ด์ง€์— 50๊ฐœ์˜ ์ธํ’‹์ด ์กด์žฌํ•˜๋Š”๋ฐ N ํŽ˜์ด์ง€๊ฐ€ ์กด์žฌํ•˜๊ณ  ๊ฐ’์€ ์ž…๋ ฅํ•˜๋ฉด ์„œ๋ฒ„๋กœ ์ €์žฅ์ด ๋œ๋‹ค.)
    • PDF ๋‚ด๋ณด๋‚ด๊ธฐ ๊ธฐ๋Šฅ (DOM์„ ์™„๋ฒฝํ•˜๊ฒŒ ์ถœ๋ ฅํ•˜๋Š” ๊ฒŒ ์–ด๋ ค์› ๊ณ  ๋””์ž์ธ๋Œ€๋กœ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒŒ ์–ด๋ ค์› ๋˜ ๊ฒƒ ๊ฐ™๋‹ค.)
  • ์˜จ๋ณด๋”ฉ ์ค‘ ๋ฐ›์€ ๋„์„œ ์™„๋…
  • ๊ธฐ๋Šฅ ๊ตฌํ˜„ ์ „ PRD ์ •๋… ๋ฐ ๊ฐœ๋ฐœ ์กฐ๊ฑด ์ •๋ฆฌ
  • ์—๋Ÿฌ ๋ฐ”์šด๋”๋ฆฌ ๋ฐ ์Šฌ๋ž™ ์—ฐ๋™ ๋„์ž… (๊ฐœ๋ฐœ ์™ธ ์˜์—ญ๊นŒ์ง€ ๊ธฐ์—ฌ)
  • ๋ฉ”๋””์ปฌ ๋ถ€๋™์‚ฐ ๋„๋ฉ”์ธ ๊ด€๋ จ ์„œ์  ์ฝ๊ณ  ์ •๋ฆฌ
  • ๊ธฐ์ˆ  ์„œ์  ๊ธฐ๋ฐ˜ AS-IS / TO-BE ๋น„๊ต ์‹ค์Šต

8์›”์„ ๋Œ์•„๋ณด๋ฉฐ ์ „๋ฐ˜์ ์œผ๋กœ ํšŒ์‚ฌ์— ์ ์‘ํ•˜๋Š”๋ฐ ์‹œ๊ฐ„์„ ๋งŽ์ด ํ• ์• ํ–ˆ๋‹ค. ๋™๋ฃŒ๋ถ„๋“ค์˜ ๋„์›€์œผ๋กœ ๋น ๋ฅด๊ฒŒ ์ ์‘ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

9์›” ์•ก์…˜ ํฌ์ธํŠธ

๊ฐœ๋ฐœ ๊ด€๋ จ

  • ์‚ฌ๋‚ด ์‹  ์†”๋ฃจ์…˜์œผ๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๊ธฐ๋Šฅ ๋น ๋ฅด๊ฒŒ ์ณ๋‚ด๊ธฐ (10์›” ๊ตฌ์†”๋ฃจ์…˜ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ธฐ ์œ„ํ•ด ๋‹ฌ๋ฆฌ์ž)
  • ํ† ์Šค ํด๋ฆฐ ์ฝ”๋“œ ๊ณต์‹๋ฌธ์„œ 1ํšŒ๋… (9์›”)
  • CLAUDE.MD๋‚˜ .cursorrule ๊ฐ™์€ ์„ค์ • ๊ด€์‹ฌ๊ฐ€์ง€๊ณ  ์‚ฌ์šฉํ•ด๋ณด๊ธฐ

๊ทธ์™ธ (์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜)

  • ์Šคํ”„๋ฆฐํŠธ ์‹œ์ž‘ ๋ฏธํŒ… ์ „์— ๋ช…ํ™•ํ•œ ์ผ์ • ๊ณต์œ ๋ฅผ ์œ„ํ•ด ์—…๋ฌด ์ชผ๊ฐœ๋Š” ๊ณผ์ •์ด ์‹คํ–‰ ์‹œ๋„
  • ๋ฐ”๋ฐ”๋ผ ๋ฏผํ†  ๋…ผ๋ฆฌ์˜ ๊ธฐ์ˆ  ์ฝ๊ณ  9์›”์— ๋А๋‚€์  ์ •๋ฆฌ