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

IT19

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.
Git ๊ธฐ์ดˆ ๋ช…๋ น์–ด ์‚ฌ์šฉ๋ฒ•: ๊นƒ์˜ ๊ธฐ๋ณธ์„ ์‰ฝ๊ณ  ๋น ๋ฅด๊ฒŒ ๋ฐฐ์šฐ๊ธฐ ๐ŸŒฑ ๋ฒ„์ „ ๊ด€๋ฆฌ์˜ ์‹œ์ž‘์€ ๋ฐ”๋กœ Git! ์ดˆ๋ณด ๊ฐœ๋ฐœ์ž๋ถ€ํ„ฐ ์ˆ™๋ จ๋œ ๊ฐœ๋ฐœ์ž๊นŒ์ง€ ํ•„์ˆ˜์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” Git์˜ ๊ธฐ์ดˆ ๋ช…๋ น์–ด ๋ฅผ ๋‹ค๋ฃจ์–ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. git init ์œผ๋กœ ์ƒˆ๋กœ์šด ์ €์žฅ์†Œ๋ฅผ ์‹œ์ž‘ํ•˜๊ณ , git add ์™€ git commit ์„ ํ†ตํ•ด ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ €์žฅํ•˜๋ฉฐ, git status ์™€ git log ๋ฅผ ํ†ตํ•ด ํ˜„์žฌ ์ƒํƒœ๋ฅผ ํ™•์ธํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‰ฝ๊ฒŒ ์„ค๋ช…ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.  1. Git ๊ธฐ์ดˆ ๋ช…๋ น์–ด ์•Œ์•„๋ณด๊ธฐGit์„ ๋ฐฐ์šฐ๋ ค๋ฉด ๊ธฐ๋ณธ ๋ช…๋ น์–ด์˜ ์—ญํ• ๊ณผ ์‚ฌ์šฉ ๋ฐฉ๋ฒ• ์„ ์ž˜ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. Git์˜ ๊ธฐ๋ณธ์ ์ธ ํ๋ฆ„์„ ์•„๋ž˜ ํ‘œ๋ฅผ ํ†ตํ•ด ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.๋ช…๋ น์–ด์—ญํ• ์„ค๋ช… git init ์ƒˆ๋กœ์šด Git ์ €์žฅ์†Œ ์ƒ์„ฑํ”„๋กœ์ ํŠธ ํด๋”๋ฅผ Git์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ธฐ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. git add ๋ณ€๊ฒฝ๋œ ํŒŒ.. IT/CI CD ๊ด€๋ จ 2024. 10. 30.
Git์˜ ๊ธฐ๋ณธ ๊ฐœ๋…๊ณผ ์„ค์น˜ ๋ฐฉ๋ฒ•: ๋ฒ„์ „ ๊ด€๋ฆฌ์˜ ํ•„์ˆ˜ ๊ฐ€์ด๋“œ ๐Ÿš€ ๊ฐœ๋ฐœ์ž๋“ค์ด ๊ผญ ์•Œ์•„์•ผ ํ•  ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ, Git ! ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ(VCS)์€ ์ฝ”๋“œ์˜ ๋ณ€๊ฒฝ ์ด๋ ฅ์„ ๊ด€๋ฆฌํ•˜์—ฌ ํ”„๋กœ์ ํŠธ์˜ ์•ˆ์ •์„ฑ์„ ์œ ์ง€ํ•˜๊ณ , ํ˜‘์—…์„ ์›ํ™œํ•˜๊ฒŒ ๋•๋Š” ์ค‘์š”ํ•œ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. ํŠนํžˆ, Git ์€ ๋ถ„์‚ฐํ˜• ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์œผ๋กœ ์ „ ์„ธ๊ณ„ ๊ฐœ๋ฐœ์ž๋“ค์—๊ฒŒ ๋„๋ฆฌ ์‚ฌ๋ž‘๋ฐ›๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” Git์˜ ๊ฐœ๋…๊ณผ ์„ค์น˜ ๋ฐฉ๋ฒ•์„ ํ†ตํ•ด ์—ฌ๋Ÿฌ๋ถ„์ด ์‰ฝ๊ฒŒ Git์„ ์ดํ•ดํ•˜๊ณ  ์„ค์น˜ํ•  ์ˆ˜ ์žˆ๋„๋ก ์•ˆ๋‚ดํ•ฉ๋‹ˆ๋‹ค.  1. ๋ฒ„์ „ ๊ด€๋ฆฌ์˜ ์ค‘์š”์„ฑ: ์™œ Git์ด ํ•„์š”ํ• ๊นŒ?๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์€ ์ฝ”๋“œ๋‚˜ ํŒŒ์ผ์˜ ๋ณ€๊ฒฝ ์ด๋ ฅ์„ ๊ด€๋ฆฌํ•˜์—ฌ, ๊ฐ ๋ฒ„์ „ ๊ฐ„์˜ ์ฐจ์ด๋ฅผ ํ™•์ธํ•˜๊ณ  ์ด์ „ ๋ฒ„์ „์œผ๋กœ ์‰ฝ๊ฒŒ ๋Œ์•„๊ฐˆ ์ˆ˜ ์žˆ๋„๋ก ๋•์Šต๋‹ˆ๋‹ค. ์ด ์ค‘์—์„œ๋„ Git ์€ ๋ถ„์‚ฐํ˜• ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์œผ๋กœ, ๋„คํŠธ์›Œํฌ์— ์—ฐ๊ฒฐ๋˜์ง€ ์•Š์•„๋„ ๋กœ์ปฌ์—์„œ ์ž์œ ๋กญ๊ฒŒ ์ž‘์—…ํ•˜๊ณ , ์›๊ฒฉ ์„œ๋ฒ„์— ์•ˆ์ „.. IT/CI CD ๊ด€๋ จ 2024. 10. 30.