Skip to main content

๋Œ์–ด์˜ค๊ธฐ ์š”์ฒญ์— Github Codespaces ์‚ฌ์šฉ

์›น ๋ธŒ๋ผ์šฐ์ € ๋˜๋Š” Visual Studio Code์—์„œ GitHub Codespaces์„(๋ฅผ) ์‚ฌ์šฉํ•˜์—ฌ ๋Œ์–ด์˜ค๊ธฐ ์š”์ฒญ์„ ๋งŒ๋“ค๊ณ , ๋Œ์–ด์˜ค๊ธฐ ์š”์ฒญ์„ ๊ฒ€ํ† ํ•˜๊ณ , ์ฃผ์„์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

codespace๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋Œ์–ด์˜ค๊ธฐ ์š”์ฒญ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋ฉด GitHub Codespaces์˜ ๋ชจ๋“  ์ด์ ์ด ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ GitHub Codespaces ๊ธฐ๋Šฅ์„(๋ฅผ) ์ฐธ์กฐํ•˜์„ธ์š”.

GitHub Codespaces์˜ ๋Œ์–ด์˜ค๊ธฐ ์š”์ฒญ ์ •๋ณด

GitHub Codespaces์—์„œ๋Š” ๋Œ์–ด์˜ค๊ธฐ ์š”์ฒญ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

  • ๋Œ์–ด์˜ค๊ธฐ ์š”์ฒญ ๋งŒ๋“ค๊ธฐ - ํ„ฐ๋ฏธ๋„ ๋ฐ Git ๋ช…๋ น ๋˜๋Š” "์†Œ์Šค ์ œ์–ด" ๋ทฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ GitHub์—์„œ์ฒ˜๋Ÿผ ๋Œ์–ด์˜ค๊ธฐ ์š”์ฒญ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์—์„œ ๋Œ์–ด์˜ค๊ธฐ ์š”์ฒญ ํ…œํ”Œ๋ฆฟ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ โ€œ์›๋ณธ ์ œ์–ดโ€ ๋ทฐ ๋‚ด์—์„œ ์ด ํ…œํ”Œ๋ฆฟ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋Œ์–ด์˜ค๊ธฐ ์š”์ฒญ ์—ด๊ธฐ - ๋ณ‘ํ•ฉ๋˜๋Š” ๋ถ„๊ธฐ์— ๋Œ€ํ•ด codespace ์•ก์„ธ์Šค ๊ถŒํ•œ์ด ์žˆ๋Š” ๊ฒฝ์šฐ codespace์—์„œ ๊ธฐ์กด ๋Œ์–ด์˜ค๊ธฐ ์š”์ฒญ์„ ์—ด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋Œ์–ด์˜ค๊ธฐ ์š”์ฒญ ๊ฒ€ํ†  - codespace์—์„œ ๋Œ์–ด์˜ค๊ธฐ ์š”์ฒญ์„ ์—ฐ ํ›„์—๋Š” โ€œGitHub ๋Œ์–ด์˜ค๊ธฐ ์š”์ฒญโ€ ๋ณด๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฒ€ํ†  ์ฃผ์„์„ ์ถ”๊ฐ€ํ•˜๊ณ  ๋Œ์–ด์˜ค๊ธฐ ์š”์ฒญ์„ ์Šน์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. GitHub Codespaces๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฒ€ํ†  ์ฃผ์„์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Codespaces์—์„œ ๋Œ์–ด์˜ค๊ธฐ ์š”์ฒญ ์—ด๊ธฐ

  1. ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ์ด๋ฆ„์—์„œ ๋Œ์–ด์˜ค๊ธฐ ์š”์ฒญ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

    ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์˜ ๊ธฐ๋ณธ ํŽ˜์ด์ง€ ์Šคํฌ๋ฆฐ์ƒท. ๊ฐ€๋กœ ํƒ์ƒ‰ ๋ชจ์Œ์—์„œ "๋Œ์–ด์˜ค๊ธฐ ์š”์ฒญ"์ด๋ผ๋Š” ๋ ˆ์ด๋ธ”์ด ์žˆ๋Š” ํƒญ์ด ์ง„ํ•œ ์ฃผํ™ฉ์ƒ‰ ์œค๊ณฝ์„ ์œผ๋กœ ํ‘œ์‹œ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

  2. ๋Œ์–ด์˜ค๊ธฐ ์š”์ฒญ ๋ชฉ๋ก์—์„œ Codespaces์—์„œ ์—ด๋ ค๋Š” ๋Œ์–ด์˜ค๊ธฐ ์š”์ฒญ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  3. ํ™”๋ฉด ์˜ค๋ฅธ์ชฝ์—์„œ ์ฝ”๋“œ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  4. Codespaces ํƒญ์—์„œ ๋ถ„๊ธฐ์—์„œ ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

    "Codespaces" ํƒญ์ด ์„ ํƒ๋œ "์ฝ”๋“œ" ๋“œ๋กญ๋‹ค์šด์˜ ์Šคํฌ๋ฆฐ์ƒท "codespace ์—†์Œ" ๋ฉ”์‹œ์ง€๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ํ”Œ๋Ÿฌ์Šค ๋‹จ์ถ”๊ฐ€ ๊ฐ•์กฐ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

    ๋Œ์–ด์˜ค๊ธฐ ์š”์ฒญ ๋ถ„๊ธฐ์— ๋Œ€ํ•œ codespace๊ฐ€ ๋งŒ๋“ค์–ด์ง€๊ณ  GitHub Codespaces์— ๋Œ€ํ•œ ๊ธฐ๋ณธ ํŽธ์ง‘๊ธฐ์—์„œ ์—ด๋ฆฝ๋‹ˆ๋‹ค.

Codespaces์—์„œ ๋Œ์–ด์˜ค๊ธฐ ์š”์ฒญ ๊ฒ€ํ† 

  1. ์›น์šฉ Visual Studio Code ๋˜๋Š” Visual Studio Code๋กœ ์„ค์ •๋œ ๊ธฐ๋ณธ ํŽธ์ง‘๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด ๋ฌธ์„œ์˜ ์•ž์— ๋‚˜์˜จ Codespaces์—์„œ ๋Œ์–ด์˜ค๊ธฐ ์š”์ฒญ ์—ด๊ธฐ์— ์„ค๋ช…๋œ ๋Œ€๋กœ codespace์—์„œ ๋Œ์–ด์˜ค๊ธฐ ์š”์ฒญ์„ ์—ฝ๋‹ˆ๋‹ค.

  2. ์ž‘์—… ํ‘œ์‹œ์ค„์—์„œ Git ๋Œ์–ด์˜ค๊ธฐ ์š”์ฒญ ์•„์ด์ฝ˜์„ ํด๋ฆญํ•˜์—ฌ " ์ž‘์—… ํ‘œ์‹œ์ค„์˜ ์Šคํฌ๋ฆฐ์ƒท ๋งˆ์šฐ์Šค ํฌ์ธํ„ฐ๋กœ ์•„์ด์ฝ˜์„ ๊ฐ€๋ฆฌํ‚ค๋ฉด "GitHub ๋Œ์–ด์˜ค๊ธฐ ์š”์ฒญ"์ด๋ผ๋Š” ๋„๊ตฌ ์„ค๋ช…์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.](/assets/images/help/codespaces/github-pr-view.png)

    codespace์—์„œ ๋Œ์–ด์˜ค๊ธฐ ์š”์ฒญ์„ ์—ด์—ˆ๊ณ  ๋Œ์–ด์˜ค๊ธฐ ์š”์ฒญ ์•„์ด์ฝ˜์ด ์ž‘์—… ํ‘œ์‹œ์ค„์— ํ‘œ์‹œ๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ GitHub์— ๋กœ๊ทธ์ธํ–ˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ํ™œ๋™ ๋ชจ์Œ์—์„œ GitHub ์•„์ด์ฝ˜์„ ํด๋ฆญํ•œ ๋‹ค์Œ ๋กœ๊ทธ์ธ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

    "๋กœ๊ทธ์ธ" ๋‹จ์ถ”๋ฅผ ๋ณด์—ฌ ์ฃผ๋Š” GitHub ์‚ฌ์ด๋“œ๋ฐ”์˜ ์Šคํฌ๋ฆฐ์ƒท. ํ™œ๋™ ํ‘œ์‹œ์ค„์˜ GitHub ์•„์ด์ฝ˜์ด ์ฃผํ™ฉ์ƒ‰ ์œค๊ณฝ์„ ์œผ๋กœ ๊ฐ•์กฐ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

  3. ํŠน์ • ํŒŒ์ผ์— ๋Œ€ํ•œ ๋ณ€๊ฒฝ ๋‚ด์šฉ์„ ๊ฒ€ํ† ํ•˜๋ ค๋ฉด "GitHub ๋Œ์–ด์˜ค๊ธฐ ์š”์ฒญ" ์‚ฌ์ด๋“œ๋ฐ”์—์„œ ํŒŒ์ผ์˜ ์ด๋ฆ„์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

    "GitHub ๋Œ์–ด์˜ค๊ธฐ ์š”์ฒญ" ์‚ฌ์ด๋“œ๋ฐ”์˜ ์Šคํฌ๋ฆฐ์ƒท ํŒŒ์ผ ์ด๋ฆ„์ด ์ง„ํ•œ ์ฃผํ™ฉ์ƒ‰ ์œค๊ณฝ์„ ์œผ๋กœ ๊ฐ•์กฐ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

    ๊ทธ๋Ÿฌ๋ฉด ์™ผ์ชฝ์˜ ๋ฒ ์ด์Šค ๋ถ„๊ธฐ ํŒŒ์ผ ๋ฒ„์ „๊ณผ ๋Œ์–ด์˜ค๊ธฐ ์š”์ฒญ์˜ ํ—ค๋“œ ๋ถ„๊ธฐ ํŒŒ์ผ์˜ ์ƒˆ ๋ฒ„์ „์ด ์˜ค๋ฅธ์ชฝ์— ์žˆ๋Š” ํŽธ์ง‘๊ธฐ์—์„œ diff ๋ณด๊ธฐ๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

  4. ๊ฒ€ํ†  ๋ฉ”๋ชจ๋ฅผ ์ถ”๊ฐ€ํ•˜๋ ค๋ฉด ํŽธ์ง‘๊ธฐ ์˜ค๋ฅธ์ชฝ์— ํ‘œ์‹œ๋œ ํŒŒ์ผ์˜ ์ค„ ๋ฒˆํ˜ธ ์˜†์— ์žˆ๋Š” + ๊ธฐํ˜ธ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

    diff ๋ทฐ์˜ ์Šคํฌ๋ฆฐ์ƒท ํŒŒ์ผ์˜ ํ—ค๋“œ ๋ฒ„์ „์—์„œ ํŽธ์ง‘๊ธฐ์˜ ์˜ค๋ฅธ์ชฝ์— ์„  ์˜†์— ์žˆ๋Š” ํ”Œ๋Ÿฌ์Šค ๊ธฐํ˜ธ๊ฐ€ ๊ฐ•์กฐ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

  5. ๊ฒ€ํ†  ์„ค๋ช…์„ ์ž…๋ ฅํ•œ ๋‹ค์Œ Start Review(๊ฒ€ํ†  ์‹œ์ž‘)๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

    "Yes, I agree, this is clearer."(์˜ˆ, ๋™์˜ํ•ฉ๋‹ˆ๋‹ค. ๋” ๋ช…ํ™•ํ•ฉ๋‹ˆ๋‹ค.)๋ผ๋Š” ์ถ”๊ฐ€๋˜๋Š” ์ฃผ์„์˜ ์Šคํฌ๋ฆฐ์ƒท ์ฃผ์„ ์•„๋ž˜์— "๊ฒ€ํ†  ์‹œ์ž‘" ๋‹จ์ถ”๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

  6. ์„ ํƒ์ ์œผ๋กœ ๋ณ€๊ฒฝ ๋‚ด์šฉ์„ ์ œ์•ˆํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋Œ์–ด์˜ค๊ธฐ ์š”์ฒญ ์ž‘์„ฑ์ž๊ฐ€ ์ œ์•ˆ์— ๋™์˜ํ•˜๋Š” ๊ฒฝ์šฐ ์ œ์•ˆ์„ ํด๋ฆญํ•˜์—ฌ ์ปค๋ฐ‹ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ ค๋ฉด ๋ณ€๊ฒฝ์„ ์ œ์•ˆํ•  ์ฒซ ๋ฒˆ์งธ ์ค„ ์˜†์— ์žˆ๋Š” + ๊ธฐํ˜ธ๋ฅผ ํด๋ฆญํ•œ ์ƒํƒœ๋กœ ๋ณ€๊ฒฝ์„ ์ œ์•ˆํ•  ๋งˆ์ง€๋ง‰ ์ค„๋กœ + ๊ธฐํ˜ธ๋ฅผ ๋•๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ, ํ‘œ์‹œ๋˜๋Š” ์„ค๋ช… ์ƒ์ž์—์„œ ์ œ์•ˆํ•˜๊ธฐ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

    ์„ ํƒํ•œ ์ค„์ด ์„ค๋ช… ์ƒ์ž์— ๋ณต์‚ฌ๋˜๊ณ , ์—ฌ๊ธฐ์—์„œ ์ค„์„ ํŽธ์ง‘ํ•˜์—ฌ ๋ณ€๊ฒฝ ๋‚ด์šฉ์„ ์ œ์•ˆํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ œ์•ˆ๋œ ๋ณ€๊ฒฝ ๋‚ด์šฉ์„ ์„ค๋ช…ํ•˜๋„๋ก ```suggestion์„ ํฌํ•จํ•˜๋Š” ์ค„ ์œ„์— ์„ค๋ช…์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    ์„ค๋ช… ์ถ”๊ฐ€๋ฅผ ํด๋ฆญํ•˜์—ฌ ๋Œ์–ด์˜ค๊ธฐ ์š”์ฒญ์— ์ œ์•ˆ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

    ์ œ์•ˆ๋œ ๋ณ€๊ฒฝ ๋‚ด์šฉ์˜ ์Šคํฌ๋ฆฐ์ƒท. "์ œ์•ˆํ•˜๊ธฐ" ๋ฐ "์„ค๋ช… ์ถ”๊ฐ€" ๋ฒ„ํŠผ์€ ์ œ์•ˆ๋œ ๋ณ€๊ฒฝ ๋‚ด์šฉ ์•„๋ž˜์— ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

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

    "๋ฉ”๋ชจ ์ถ”๊ฐ€ ๋ฐ ์ œ์ถœ", "์Šน์ธ ๋ฐ ์ œ์ถœ" ๋ฐ "๋ณ€๊ฒฝ ๋‚ด์šฉ ์š”์ฒญ ๋ฐ ์ œ์ถœ" ๋“œ๋กญ๋‹ค์šด ์˜ต์…˜์„ ๋ณด์—ฌ ์ฃผ๋Š” ์‚ฌ์ด๋“œ๋ฐ”์˜ ์Šคํฌ๋ฆฐ์ƒท

๋Œ์–ด์˜ค๊ธฐ ์š”์ฒญ ๊ฒ€ํ† ์— ๊ด€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋Œ์–ด์˜ค๊ธฐ ์š”์ฒญ์—์„œ ์ œ์•ˆ๋œ ๋ณ€๊ฒฝ ๋‚ด์šฉ ๊ฒ€ํ† ์„(๋ฅผ) ์ฐธ์กฐํ•˜์„ธ์š”.

Codespaces์—์„œ ๊ฒ€ํ† ์˜ ์ฃผ์„ ๋ณด๊ธฐ

๋Œ์–ด์˜ค๊ธฐ ์š”์ฒญ์— ๋Œ€ํ•œ ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ›์€ ํ›„์—๋Š” ์›น ๋ธŒ๋ผ์šฐ์ €์˜ codespace ๋˜๋Š” VS Code์—์„œ ์—ด์–ด ๊ฒ€ํ†  ๋ฉ”๋ชจ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—์„œ ์ฃผ์„์— ์‘๋‹ตํ•˜๊ฑฐ๋‚˜, ๋ฐ˜์‘์„ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜, ๊ฒ€ํ† ๋ฅผ ํ•ด์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.