์ƒ๊ฐ์ •๋ฆฌ

Git์œผ๋กœ ํ˜‘์—…ํ•˜๊ธฐ

dev_summer 2021. 7. 4. 17:05

์‹ค๋ฌด๋ฅผ ํ•˜๋‹ค๋ณด๋ฉด feature, develop branch, rebase ๋“ฑ๋“ฑ ๊ด€๋ จ๋œ ๋‹จ์–ด๋“ค์€ ์•Œ์ง€๋งŒ ์‹ค๋ฌด์—์„  ๋”ฑํžˆ ์“ฐ์—ฌ์ง€๊ณ  ์žˆ์ง„ ์•Š์€ ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค. 

๋‚˜๋งŒ ํ•ด๋„ ๊ฑฐ์˜ ํ˜ผ์ž์„œ back๋‹จ์˜ ์ž‘์—…์„ ํ•˜๊ธฐ๋•Œ๋ฌธ์— ๋‚ด ์ด๋ฆ„์œผ๋กœ ๋ธŒ๋žœ์น˜ ํ•˜๋‚˜ ๋งŒ๋“ค์–ด ๋†“๊ณ  ํ…Œ์ŠคํŠธ ๋งˆ์Šคํ„ฐ์— ์˜ฌ๋ฆฌ๊ณ  ์‹ค์„œ๋ฒ™ ๋ฐ˜์˜ํ•˜๋Š” ํ˜•์‹์œผ๋กœ ์‚ฌ์šฉํ•˜๊ณ ์žˆ๋‹ค.

 ์‚ฌ์‹ค ํฐ ์ด์Šˆ๊ฐ€ ์—†๋‹ค๋ฉด ์ด๋ ‡๊ฒŒ ์จ๋„ ๋˜์ง€๋งŒ ๊ณผ๊ฑฐ๋กœ ๋Œ์•„๊ฐ€์•ผ๋˜๋Š” ์ˆœ๊ฐ„์—” ๊ฐœ๋งํ•˜๋Š”๊ฑฐ๋‹ค. ๋ณ„๋‹ค๋ฅธ๊ฒŒ ์ด์Šˆ๊ฐ€ ์•„๋‹ˆ๋‹ค. ์ด๊ฒŒ ๋น…์ด์Šˆ๋‹ค.. 

 ํ•œ๋ฒˆ์ฏค์€ ์ด ๊ฐœ๋…๋“ค์ด ์ •๋ฆฌ๊ฐ€ ๋˜๊ณ  ์ •์„์˜ git์ „๋žต์„ ์จ๋ณด๊ณ ์‹ถ์—ˆ๋Š”๋ฐ ๋งˆ์นจ DND์˜ ์šด์˜์ง„๋‹˜๊ป˜์„œ ๊ด€๋ จ๋œ ์˜จ๋ผ์ธ ์„ธ๋ฏธ๋‚˜๋ฅผ ์—ด์–ด์ฃผ์…จ๋‹ค.

 * ์—ฌ๋Ÿฌ๋ถ„ dndํ•˜์„ธ์šค

 

 - git ์ด์ „์—๋Š” ์–ด๋–ป๊ฒŒ ๋ฒ„์ „๊ด€๋ฆฌ๋ฅผ ํ–ˆ์„๊นŒ? 

 git์ด์ „์—๋Š” CVS(Centralized Version Control)๊ฐ€ ์กด์žฌํ•˜์˜€๋‹ค. ์ค‘์•™์—์„œ ๋ชจ๋“ ๊ฒƒ์ด ํ†ต์ œ๋˜์—ˆ๋˜ ๊ฒƒ์œผ๋กœ ์„œ๋ฒ„๊ฐ€ ์ฃฝ์„๋•Œ๋งˆ๋‹ค ๋ชจ๋“  ๋กœ์ปฌ๋“ค๋˜ํ•œ ์ฃฝ์–ด๋ฒ„๋ ธ๋‹ค๊ณ  ํ•œ๋‹ค. ํ˜„์žฌ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๊ณ ์žˆ๋Š” github, gitlab์€ ๋กœ์ปฌ ์ปดํ“จํ„ฐ๋งˆ๋‹ค ์„œ๋ฒ„๋ฅผ ๋ถ„๋ฐฐ์‹œํ‚จ ๊ฐœ๋…์œผ๋กœ ๋กœ์ปฌ์ปดํ“จํ„ฐ๊ฐ€ ์„œ๋ฒ„์ฒ˜๋Ÿผ ๋™์ž‘์„ ํ•œ๋‹ค. ์ฆ‰ git์„œ๋ฒ„๊ฐ€ ์ฃฝ๋”๋ผ๋„ ๋กœ์ปฌ์—์„œ์˜ ์ปค๋ฐ‹ ์ž‘์—…์€ ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

 

 - git์€ ์–ด๋–ป๊ฒŒ ๋™์ž‘ ๋ ๊นŒ? 

 ์Šค๋ƒ…์ƒท ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•œ๋‹ค. ๊ฐ๊ฐ์˜ ์Šค๋ƒ…์ƒท์„ ์ €์žฅํ•˜์—ฌ ๊ทธ ์‹œ์ ์œผ๋กœ ๋Œ์•„๊ฐˆ ์ˆ˜ ์žˆ๋‹ค.

์ด๋•Œ ์ฝ”๋“œ ์ „์ฒด๋ฅผ ์ฐ๊ฒŒ ๋˜๋ฉด ์šฉ๋Ÿ‰์˜ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ git์€ ์ตœ์ดˆ 1๋ฒˆ์— ๋Œ€ํ•ด์„œ๋งŒ ์ €์žฅํ•˜๊ณ  ๊ทธ ํŒŒ์ผ์„ ๊ธฐ์ค€์œผ๋กœ ์–ด๋–ค ๋ถ€๋ถ„์ด ๋ณ€๊ฒฝ๋˜์—ˆ๋Š”์ง€๋งŒ ์ €์žฅํ•˜๊ฒŒ๋œ๋‹ค. ์šฉ๋Ÿ‰ ์ตœ์†Œํ™”๋ฅผ ์‹œํ‚จ ๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค.

 

 

 

- git branch ์‚ฌ์šฉ ์ „๋žต

 

 

 

master์˜€๋Š”๋ฐ ์š”์ฆ˜์€ main์œผ๋กœ ์šฉ์–ด๊ฐ€ ๋ฐ”๋€Œ์—ˆ๋‹ค๊ณ ํ•œ๋‹ค.

 - main : ์‹ค์ œ ๋ฐฐํฌ๊ฐ€ ๊ฐ€๋Šฅํ•œ ์ƒํƒœ๋งŒ์„ ๊ด€๋ฆฌํ•˜๋Š” ๋ธŒ๋žœ์น˜

 - hotfix : main์—์„œ ๊ธ‰ํžˆ ์ˆ˜์ •ํ•ด์•ผ๋˜๋Š” ๋ธŒ๋žœ์น˜, ๋งŒ์•ฝ ์ด ๋ธŒ๋žœ์น˜๋ฅผ ๋•ƒ์œผ๋ฉด release/develop/main์— ํ•จ๊ป˜ ๋ฐ˜์˜

 - release : ๋ชจ๋“  ๊ด€๊ณ„์ž๋“ค์ด ํ™•์ธํ•˜์—ฌ ๋งˆ์ง€๋ง‰ ํ™•์ธ QA๋ฅผ ๊ฑฐ์น˜๋Š” ๋ธŒ๋žœ์น˜

 - develop : ์‹ค์งˆ์ ์ธ ๊ฐœ๋ฐœ ๋ธŒ๋žœ์น˜

 - feature :  ๊ฐœ๋ฐœ๋ธŒ๋žœ์น˜์—์„œ ์„ธ๋ถ€์ ์ธ ๊ธฐ๋Šฅ์œผ๋กœ ๋‚˜๋ˆˆ ๋ธŒ๋žœ์น˜๋กœ ์ˆ˜์‹ญ, ์ˆ˜๋ฐฑ๊ฐœ๊ฐ€ ์กด์žฌํ•˜๊ณ  ๋‹ซํž์ˆ˜ ์žˆ๋‹ค. 

 

* ๊ตต์€๊ฒŒ ๋ฉ”์ธ๋ธŒ๋žœ์น˜, ๊ทธ ์™ธ์—๋Š” ๋ณด์กฐ๋ธŒ๋žœ์น˜๋“ค!

 

๋จธ๋ฆฟ์†์—๋งŒ ๋‘ฅ๋‘ฅ ๋– ๋‹ค๋‹ˆ๋˜ ๊ฒƒ๋“ค์ด ํ•œ๋ฒˆ์— ์ •๋ฆฌ๋˜๋Š” ๋Š๋‚Œ์ด๋‹ค ์ข‹๋‹ค!

 

 - merge & rebase 

rebase๋Š” ์ „ํ˜€ ์‚ฌ์šฉํ•ด๋ณด์ง€ ์•Š์€ ์ž‘์—…์ด๋ผ ์„ค๋ช…์„ ํ• ๋•Œ์—๋„ ํ ? ํ•˜๊ณ  ๋“ค์—ˆ๋Š”๋ฐ ์•„๋ž˜์˜ ๋ธ”๋กœ๊ทธ ๊ธ€์„ ๋ณด๋‹ˆ ์กฐ๊ธˆ์€ ์ดํ•ด๊ฐ€ ๊ฐ„๋‹ค.

 ๊ฐ„๋‹จํžˆ ๋ง ํ•˜์ž๋ฉด ๊ธฐ๋Šฅ์€ ๊ฐ™์œผ๋‚˜ ๊นƒ์˜ ํ๋ฆ„์„ ์ข€ ๋” ์ •๋ ฌํ•ด์ฃผ๋Š” ๋Š๋‚Œ์ด๋ผ๊ณ  ์ƒ๊ฐ ํ•˜๋ฉด ๋˜๋ ค๋‚˜..?

https://brunch.co.kr/@anonymdevoo/7

 

4. Merge ์™€ Rebase์˜ ์ฐจ์ด์ 

Merge ์™€ Rebase์— ๋Œ€ํ•œ ๊ฐœ์ธ์  ๊ฒฌํ•ด | Merge vs Rebase ๋‘๊ฐœ์˜ ์ฐจ์ด์ ์„ ๊ฐ„๋‹จํ•˜๊ฒŒ ๊ทธ๋ฆผ์œผ๋กœ ์„ค๋ช…ํ•ด๋ณด์ž. ์•„๋ž˜ ์„ค๋ช…์€ "๊ทธ๋ƒฅ ๊ทธ๋Ÿฐ๊ฐ€๋ณด๋‹ค."ํ•˜๊ณ  ์ผ๋‹จ ๋ฐ›์•„๋“ค์ด๊ณ  ์ง์ ‘ ์‚ฌ์šฉํ•ด๋ณด๋ฉด์„œ ๊นจ๋‹ซ๋Š”๊ฑธ ์ถ”์ฒœํ•œ๋‹ค.

brunch.co.kr

 

 

 - ์ง€์†์  ํ†ตํ•ฉ/๋ฐฐํฌ(CI,CD)

CI/CD๋Š” ํ•œ๋ฒˆ๋„ ๊ฒฝํ—˜ํ•ด ๋ณธ ์ ์ด ์—†์—ˆ๋Š”๋ฐ ํ•œ๋ฒˆ์ฏค์€ ๊ฒฝํ—˜ํ•ด๋ณด๊ณ ์‹ถ๊ตฐ

CICD๋Š” master์— ์˜ฌ๋ฆฌ๊ธฐ๋งŒ ํ•˜๋ฉด ๋ฐ”๋กœ ์ ์šฉ ๋˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•˜๋Š”๋ฐ ์ด๊ฒƒ์„ ํ•˜๋ ค๋ฉด git branch์ „๋žต์ด ์ค‘์š”ํ•  ๊ฒƒ๊ฐ™๋‹ค.

* github runner๋ฅผ ํ†ตํ•ด web page ์‰ฝ๊ฒŒ ๊ตฌ์ถ•ํ•ด ๋‚˜๊ฐˆ ์ˆ˜ ์žˆ์Œ.

 

 - commit prefix์•ฝ์†

feat : ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ์ถ”๊ฐ€

fix : ๋ฒ„๊ทธ ์ˆ˜์ •

improvement : ํ˜ธํ™˜์„ฑ, ํ…Œ์ŠคํŠธ ์ปค๋ฒ„๋ฆฌ์ง€, ์„ฑ๋Šฅ, ๊ฒ€์ฆ ๊ธฐ๋Šฅ, ์ ‘๊ทผ์„ฑ ๋“ฑ ํ–ฅ์ƒ

docs : ๋ฌธ์„œ ์ˆ˜์ •

style : ์ฝ”๋“œ ํฌ๋งทํŒ…, ์„ธ๋ฏธ์ฝœ๋ก  ๋ˆ„๋ฝ ๋“ฑ

refactor : ๊ธฐ์กด ์ฝ”๋“œ์— ๋Œ€ํ•œ ๋ฆฌํŒฉํ† ๋ง ์ง„ํ–‰

 

์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€์— ๋Œ€ํ•œ ์•ฝ์†์„ ์ •ํ•ด๋†“๋Š” ๊ฒƒ์ธ๋ฐ ๋‚˜๋Š” ํ˜ผ์ž์„œ ์ž‘์—… ์ž˜ ํ•˜๋‹ˆ๊นŒ... ๊ทธ๋ƒฅ ์ƒ๊ฐ๋‚˜๋Š”๋Œ€๋กœ ์ปค๋ฐ‹๋ฉ”์„ธ์ง€๋ฅผ ์ ๋Š”๋ฐ ํ˜‘์—…์—๋Š” ์ด๋Ÿฐ ๊ทœ์น™์ด ํ•„์ˆ˜์ธ ๊ฒƒ ๊ฐ™๋‹ค.

 

git๋‚˜๋ฆ„ ์ž˜ ์•Œ๊ณ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ด์„œ ์„ธ๋ฏธ๋‚˜๋ฅผ ๋“ค์„๊นŒ ๋ง๊นŒ ๊ณ ๋ฏผํ–ˆ์—ˆ๋Š”๋ฐ ๋“ฃ๊ธธ ์ž˜ ํ–ˆ๋‹ค.

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

์˜ค๋Š˜๋„ ๋‚ด์ผ๋„ ๋‹ค์Œ์ฃผ๋„ ์—ด์‹ฌํžˆ ํ•ด์•ผ์ง€..