๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

์ „์ฒด ๊ธ€140

๊ณ ์–‘์ด ์ˆ˜์•ก ํ›„ ์„ค์‚ฌ: ๊ดœ์ฐฎ์€ ๊ฑธ๊นŒ์š”? ๊ณ ์–‘์ด๋ฅผ ํ‚ค์šฐ๋Š” ๋ฐ˜๋ ค์ธ์ด๋ผ๋ฉด ๊ณ ์–‘์ด๊ฐ€ ์•„ํ”Œ ๋•Œ ๋Š๋ผ๋Š” ๋ถˆ์•ˆ๊ฐ์€ ๋ˆ„๊ตฌ๋‚˜ ๊ณต๊ฐํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํŠนํžˆ ๊ณ ์–‘์ด๊ฐ€ ๊ฐ‘์ž๊ธฐ ๋ฐฅ์„ ๊ฑฐ๋ถ€ํ•˜๊ณ  ์„ค์‚ฌ๋ฅผ ํ•œ๋‹ค๋ฉด ๋”๋”์šฑ ๊ฑฑ์ •์ด ๋˜์ฃ . ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” ๊ณ ์–‘์ด๊ฐ€ ๋ณ‘์›์—์„œ ์ˆ˜์•ก์„ ๋งž๊ณ  ๋Œ์•„์˜จ ํ›„ ์„ค์‚ฌ๋ฅผ ํ•  ์ˆ˜ ์žˆ๋Š” ์ด์œ ์™€, ์ด๋Ÿฌํ•œ ์ƒํ™ฉ์—์„œ ์–ด๋–ป๊ฒŒ ๋Œ€์ฒ˜ํ•ด์•ผ ํ•˜๋Š”์ง€์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.  1. ๊ณ ์–‘์ด์˜ ์ˆ˜์•ก ์น˜๋ฃŒ๋ž€?์ˆ˜์•ก ์น˜๋ฃŒ๋Š” ๊ณ ์–‘์ด์˜ ํƒˆ์ˆ˜๋ฅผ ๋ฐฉ์ง€ํ•˜๊ณ  ์ „ํ•ด์งˆ ๊ท ํ˜•์„ ๋งž์ถ”๊ธฐ ์œ„ํ•ด ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ์น˜๋ฃŒ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ์ˆ˜์•ก์„ ๋งž์œผ๋ฉด ์ฒด๋‚ด ์ˆ˜๋ถ„๊ณผ ์˜์–‘๋ถ„์„ ๋น ๋ฅด๊ฒŒ ๊ณต๊ธ‰ํ•  ์ˆ˜ ์žˆ์–ด ์ทŒ์žฅ์ด๋‚˜ ์‹ ์žฅ์ด ์•ฝํ•ด์ง„ ๊ณ ์–‘์ด๋“ค์—๊ฒŒ ํšจ๊ณผ์ ์ž…๋‹ˆ๋‹ค.์ˆ˜์•ก ์น˜๋ฃŒ๋Š” ์ทŒ์žฅ ์ˆ˜์น˜๊ฐ€ ๋†’๊ฑฐ๋‚˜, ๊ธ‰์„ฑ ์งˆํ™˜์œผ๋กœ ๊ณ ์–‘์ด๊ฐ€ ์Œ์‹์ด๋‚˜ ๋ฌผ์„ ๊ฑฐ๋ถ€ํ•˜๋Š” ๊ฒฝ์šฐ์— ํŠนํžˆ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋งŒ, ์ˆ˜์•ก ์น˜๋ฃŒ ํ›„ ์„ค์‚ฌ๋‚˜ ๋ฉ”์Šค๊บผ์›€ ๋“ฑ์˜ ๋ถ€์ž‘์šฉ์ด .. ๋ฐ˜๋ ค๋™๋ฌผ 2024. 11. 8.
์ด๊ฐ€ ๋น ์ง€๋Š” ๊ฟˆ์˜ ํ•ด์„: ๋ถˆ์•ˆ๊ณผ ๋ณ€ํ™”์˜ ์ƒ์ง• ์ด๊ฐ€ ๋น ์ง€๋Š” ๊ฟˆ์€ ์šฐ๋ฆฌ๋‚˜๋ผ์—์„œ ํ”ํžˆ ๋ถˆ๊ธธํ•œ ์ง•์กฐ๋กœ ์—ฌ๊ฒจ์ง€์ง€๋งŒ, ์‹ค์ œ๋กœ๋Š” ์—ฌ๋Ÿฌ ํ•ด์„์ด ๊ฐ€๋Šฅํ•œ ํฅ๋ฏธ๋กœ์šด ๊ฟˆ์ž…๋‹ˆ๋‹ค. ํŠนํžˆ ์งˆ๋ฌธ์ž๋ถ„๊ป˜์„œ ๊พธ์‹  ๊ฟˆ์ฒ˜๋Ÿผ ๊ณ ํ†ต ์—†์ด ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์ด๊ฐ€ ๋น ์ง€๋Š” ์ƒํ™ฉ์€ ๋ณ€ํ™”์— ๋Œ€ํ•œ ์ ์‘ ์ด๋‚˜ ์‹ฌ๋ฆฌ์ ์ธ ๋ถˆ์•ˆ ์š”์†Œ ๊ฐ€ ๋ฐ˜์˜๋œ ๊ฒƒ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” ์ด๊ฐ€ ๋น ์ง€๋Š” ๊ฟˆ์— ๋‹ด๊ธด ๋‹ค์–‘ํ•œ ์˜๋ฏธ์™€ ํ•ด์„, ๊ทธ๋ฆฌ๊ณ  ์ž์ฃผ ๋ฌป๋Š” ์งˆ๋ฌธ๊นŒ์ง€ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.   1. ์ด๊ฐ€ ๋น ์ง€๋Š” ๊ฟˆ์˜ ์ผ๋ฐ˜์ ์ธ ํ•ด์„์ด๊ฐ€ ๋น ์ง€๋Š” ๊ฟˆ์€ ๋Œ€๊ฐœ ์ŠคํŠธ๋ ˆ์Šค , ๋ถˆ์•ˆ , ์‚ถ์˜ ๋ณ€ํ™” ์™€ ๊ด€๋ จ์ด ์žˆ๋‹ค๊ณ  ์•Œ๋ ค์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋‹ค์–‘ํ•œ ์ƒํ™ฉ์—์„œ ๋‹ค๋ฅด๊ฒŒ ํ•ด์„๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๊ฟˆ์—์„œ ๋Š๋‚€ ๊ฐ์ •์ด๋‚˜ ์ด์˜ ์ƒํƒœ์— ๋”ฐ๋ผ ๊ทธ ์˜๋ฏธ๊ฐ€ ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ณ ํ†ต ์—†์ด ๋น ์ง€๋Š” ๊ฒฝ์šฐ : ์ƒํ™œ์˜ ๋ณ€ํ™”์— ๋Œ€ํ•ด ๋น„๊ต์  ์ˆ˜์šฉ์  ์ด๊ฑฐ๋‚˜ ์ ์‘์„ .. ๊ฟˆ ํ•ด๋ชฝ 2024. 11. 7.
Git ๋ณ‘ํ•ฉ ์ถฉ๋Œ ํ•ด๊ฒฐํ•˜๊ธฐ: ์ถฉ๋Œ ์›์ธ๋ถ€ํ„ฐ ํ•ด๊ฒฐ ๋„๊ตฌ๊นŒ์ง€ ์™„๋ฒฝ ๊ฐ€์ด๋“œ โš”๏ธ ๊ฐœ๋ฐœ ์ž‘์—…์„ ํ•˜๋‹ค ๋ณด๋ฉด ์—ฌ๋Ÿฌ ๋ช…์ด ๊ฐ™์€ ํŒŒ์ผ์„ ์ˆ˜์ •ํ•˜๊ฒŒ ๋˜๊ณ , ์ด๋กœ ์ธํ•ด ๋ณ‘ํ•ฉ ์ถฉ๋Œ(merge conflict) ์ด ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์ข…์ข… ์žˆ์Šต๋‹ˆ๋‹ค. ์ถฉ๋Œ์€ ํ˜‘์—… ํ”„๋กœ์ ํŠธ์˜ ์ผ์ƒ์ ์ธ ์ผ๋ถ€๋ถ„์ด์ง€๋งŒ, ๊ทธ ์›์ธ๊ณผ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์ž˜ ์ดํ•ดํ•˜๊ณ  ์žˆ์œผ๋ฉด ์ถฉ๋Œ์„ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” ๋ณ‘ํ•ฉ ์ถฉ๋Œ์˜ ์›์ธ, ์˜ˆ๋ฐฉ๋ฒ•, ์ถฉ๋Œ ๋ฐœ์ƒ ์‹œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•๊ณผ ์œ ์šฉํ•œ ๋„๊ตฌ๋“ค์„ ์†Œ๊ฐœํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.  1. ๋ณ‘ํ•ฉ ์ถฉ๋Œ์˜ ์›์ธ: ์™œ ๋ฐœ์ƒํ• ๊นŒ? ๋ณ‘ํ•ฉ ์ถฉ๋Œ ์€ ๋‘ ๋ช… ์ด์ƒ์˜ ๊ฐœ๋ฐœ์ž๊ฐ€ ๊ฐ™์€ ํŒŒ์ผ์˜ ๊ฐ™์€ ๋ถ€๋ถ„์„ ์ˆ˜์ •ํ•  ๋•Œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ถฉ๋Œ์€ ์ฝ”๋“œ ๋ณ‘ํ•ฉ ์‹œ Git์ด ์ž๋™์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์—†๋Š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์žˆ์„ ๋•Œ ๋ฐœ์ƒํ•˜๋ฉฐ, ์ถฉ๋Œ์„ ํ•ด๊ฒฐํ•˜์ง€ ์•Š์œผ๋ฉด ๋ณ‘ํ•ฉ์„ ์™„๋ฃŒํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.๋ณ‘ํ•ฉ ์ถฉ๋Œ์˜ ์ฃผ์š” ์›์ธ์›์ธ์„ค๋ช… ๋™์ผ ํŒŒ์ผ์˜ ๋™์ผํ•œ ๋ผ์ธ ์ˆ˜์ •.. IT/CI CD ๊ด€๋ จ 2024. 10. 30.
ํ˜‘์—…์„ ์œ„ํ•œ Fork์™€ Pull Request: GitHub๋กœ ํ”„๋กœ์ ํŠธ์— ๊ธฐ์—ฌํ•˜๋Š” ๋ฒ• ๐ŸŒ ์˜คํ”ˆ ์†Œ์Šค ํ”„๋กœ์ ํŠธ์— ๊ธฐ์—ฌํ•˜๊ฑฐ๋‚˜, ํŒ€ ํ”„๋กœ์ ํŠธ์—์„œ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด GitHub์˜ Fork์™€ Pull Request ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Fork๋Š” ์›๋ณธ ์ €์žฅ์†Œ์˜ ๋ณต์‚ฌ๋ณธ์„ ์ž์‹ ์˜ ์ €์žฅ์†Œ์— ์ƒ์„ฑํ•˜๋Š” ์ž‘์—… ์ด๋ฉฐ, Pull Request๋Š” ์ˆ˜์ •ํ•œ ์ฝ”๋“œ๋ฅผ ์›๋ณธ ํ”„๋กœ์ ํŠธ์— ๋ฐ˜์˜ํ•ด๋‹ฌ๋ผ๊ณ  ์š”์ฒญํ•˜๋Š” ์ ˆ์ฐจ ์ž…๋‹ˆ๋‹ค. ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” Fork์™€ Pull Request์˜ ๊ฐœ๋…, ํ™œ์šฉ๋ฒ•, ๊ทธ๋ฆฌ๊ณ  ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๊ณผ์ •์„ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.  1. Fork๋ž€ ๋ฌด์—‡์ธ๊ฐ€? Fork(ํฌํฌ) ๋Š” ๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ ์ €์žฅ์†Œ๋ฅผ ๋ณต์‚ฌํ•˜์—ฌ ์ž์‹ ์˜ GitHub ๊ณ„์ •์œผ๋กœ ๊ฐ€์ ธ์˜ค๋Š” ๊ณผ์ •์ž…๋‹ˆ๋‹ค. Fork๋Š” ์˜คํ”ˆ ์†Œ์Šค ํ”„๋กœ์ ํŠธ์— ๊ธฐ์—ฌํ•˜๊ณ ์ž ํ•  ๋•Œ ์ฃผ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ํ”„๋กœ์ ํŠธ์˜ ๋ฒ„๊ทธ๋ฅผ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜๊ณ ์ž ํ•  ๋•Œ F.. IT/CI CD ๊ด€๋ จ 2024. 10. 30.
Git ๋ธŒ๋žœ์น˜ ์ดํ•ด์™€ ๊ด€๋ฆฌ: ํ˜‘์—…์˜ ํ•ต์‹ฌ, ๋ธŒ๋žœ์น˜๋กœ ํ”„๋กœ์ ํŠธ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ธฐ ๐ŸŒฟ Git์˜ ๊ฐ€์žฅ ๊ฐ•๋ ฅํ•œ ๊ธฐ๋Šฅ ์ค‘ ํ•˜๋‚˜๋Š” ๋ฐ”๋กœ ๋ธŒ๋žœ์น˜(branch) ์ž…๋‹ˆ๋‹ค. ๋ธŒ๋žœ์น˜๋Š” ํ”„๋กœ์ ํŠธ์˜ ๋…๋ฆฝ์ ์ธ ์ž‘์—… ๊ณต๊ฐ„์„ ์˜๋ฏธํ•˜๋ฉฐ, ์ฝ”๋“œ์˜ ์•ˆ์ •์„ฑ์„ ์œ ์ง€ํ•˜๋ฉด์„œ๋„ ์—ฌ๋Ÿฌ ๊ธฐ๋Šฅ์„ ๋™์‹œ์— ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค๋‹ˆ๋‹ค . ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” ๋ธŒ๋žœ์น˜์˜ ๊ฐœ๋…๊ณผ ํ•„์š”์„ฑ์„ ์„ค๋ช…ํ•˜๊ณ , Git์—์„œ ๋ธŒ๋žœ์น˜๋ฅผ ์ƒ์„ฑ, ์ด๋™, ๋ณ‘ํ•ฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.  1. ๋ธŒ๋žœ์น˜๋ž€ ๋ฌด์—‡์ธ๊ฐ€?๋ธŒ๋žœ์น˜๋ž€ ํ•˜๋‚˜์˜ Git ์ €์žฅ์†Œ ์•ˆ์—์„œ ๋…๋ฆฝ์ ์ธ ์ž‘์—… ๊ณต๊ฐ„ ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•  ๋•Œ, ๋ธŒ๋žœ์น˜๋ฅผ ๋‚˜๋ˆ„์–ด ์ž‘์—…ํ•˜๋ฉด ์ฝ”๋“œ๊ฐ€ ์„œ๋กœ ์ถฉ๋Œํ•˜์ง€ ์•Š๊ณ  ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๊ฐœ๋ฐœ ์ค‘์ธ ๊ธฐ๋Šฅ์„ ์™„๋ฃŒํ•˜๊ธฐ ์ „์—, ์ด๋ฏธ ์™„๋ฃŒ๋œ ์ฝ”๋“œ๋ฅผ ๋‹ค๋ฅธ ์ž‘์—…์— ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด ๋ธŒ๋žœ์น˜์˜ ์žฅ์ ์ž…๋‹ˆ๋‹ค.์™œ ๋ธŒ๋žœ์น˜๊ฐ€ ํ•„์š”ํ•œ๊ฐ€?๋ธŒ๋žœ์น˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ด์ ์ด .. IT/CI CD ๊ด€๋ จ 2024. 10. 30.