1. ์ดˆ๋ณด์ž๋ฅผ ์œ„ํ•œ Git ์ƒ์„ธ ๊ฐ€์ด๋“œ

์˜ค๋Š˜ ์šฐ๋ฆฌ๋Š” Git์ด๋ผ๋Š” ๋ฒ„์ „ ์ œ์–ด ์‹œ์Šคํ…œ์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

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

ํž˜๋‚ด ๊ธฐ์ดˆ

Git์€ ์šฐ๋ฆฌ ์ฝ”๋“œ์˜ ๋ถ„์‚ฐ ๋ฒ„์ „ ์ œ์–ด ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค. ์™œ ํ•„์š”ํ•œ๊ฐ€์š”? ํŒ€์—๋Š” ์ž‘์—…์„ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ์ผ์ข…์˜ ์‹œ์Šคํ…œ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์‹œ๊ฐ„ ๊ฒฝ๊ณผ์— ๋”ฐ๋ผ ๋ฐœ์ƒํ•˜๋Š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ถ”์ ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

์ฆ‰, ์–ด๋–ค ํŒŒ์ผ์ด ์–ด๋–ป๊ฒŒ ๋ณ€๊ฒฝ๋˜์—ˆ๋Š”์ง€ ๋‹จ๊ณ„๋ณ„๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋‹จ์ผ ์ž‘์—…์˜ ์ปจํ…์ŠคํŠธ์—์„œ ๋ณ€๊ฒฝ๋œ ์‚ฌํ•ญ์„ ์กฐ์‚ฌํ•˜์—ฌ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋˜๋Œ๋ฆด ์ˆ˜ ์žˆ์„ ๋•Œ ํŠนํžˆ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

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

๋˜๋Š” ๋‘ ๋ช…์˜ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋™์‹œ์— ์ž์‹ ์˜ ์ฝ”๋“œ๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒฝ์šฐ ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ? Git์ด ์—†์œผ๋ฉด ์›๋ณธ ์ฝ”๋“œ ํŒŒ์ผ์„ ๋ณต์‚ฌํ•˜์—ฌ ๋ณ„๋„๋กœ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค. ๋‘˜ ๋‹ค ๊ธฐ๋ณธ ๋””๋ ‰ํ† ๋ฆฌ์— ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ถ”๊ฐ€ํ•˜๋ ค๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ์–ด๋–ป๊ฒŒ ํ•ฉ๋‹ˆ๊นŒ?

Git์„ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด ๊ทธ๋Ÿฐ ๋ฌธ์ œ๋Š” ์—†์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

ํž˜๋‚ด ์„ค์น˜

์ปดํ“จํ„ฐ์— Java๋ฅผ ์„ค์น˜ํ•ด ๋ด…์‹œ๋‹ค. ์ด ํ”„๋กœ์„ธ์Šค๋Š” ์šด์˜ ์ฒด์ œ๋งˆ๋‹ค ์•ฝ๊ฐ„ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.

Windows์— ์„ค์น˜

ํ‰์†Œ์™€ ๊ฐ™์ด exe ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œํ•˜์—ฌ ์‹คํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—์„œ๋Š” ๋ชจ๋“  ๊ฒƒ์ด ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ Google ๋งํฌ๋ฅผ ํด๋ฆญํ•˜๊ณ  ์„ค์น˜๋ฅผ ์ˆ˜ํ–‰ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด Windows์—์„œ ์ œ๊ณตํ•˜๋Š” bash ์ฝ˜์†”์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

Windows์—์„œ๋Š” Git Bash๋ฅผ ์‹คํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์‹œ์ž‘ ๋ฉ”๋‰ด์— ํ‘œ์‹œ๋˜๋Š” ๋ฐฉ์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์ด์ œ ์ž‘์—…ํ•  ์ˆ˜ ์žˆ๋Š” ๋ช…๋ น ํ”„๋กฌํ”„ํŠธ์ž…๋‹ˆ๋‹ค.

Git์„ ์—ด๊ธฐ ์œ„ํ•ด ๋งค๋ฒˆ ํ”„๋กœ์ ํŠธ๊ฐ€ ์žˆ๋Š” ํด๋”๋กœ ์ด๋™ํ•˜์ง€ ์•Š์œผ๋ ค๋ฉด ํ•„์š”ํ•œ ๊ฒฝ๋กœ์—์„œ ๋งˆ์šฐ์Šค ์˜ค๋ฅธ์ชฝ ๋ฒ„ํŠผ์„ ์‚ฌ์šฉํ•˜์—ฌ ํ”„๋กœ์ ํŠธ ํด๋”์—์„œ ๋ช…๋ น ํ”„๋กฌํ”„ํŠธ๋ฅผ ์—ด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฆฌ๋ˆ…์Šค์— ์„ค์น˜ํ•˜๊ธฐ

์ผ๋ฐ˜์ ์œผ๋กœ Git์€ Linux ๋ฐฐํฌํŒ์˜ ์ผ๋ถ€์ด๋ฉฐ ์›๋ž˜ Linux ์ปค๋„ ๊ฐœ๋ฐœ์šฉ์œผ๋กœ ์ž‘์„ฑ๋œ ๋„๊ตฌ์ด๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฏธ ์„ค์น˜๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ทธ๋ ‡์ง€ ์•Š์€ ์ƒํ™ฉ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ํ™•์ธํ•˜๋ ค๋ฉด ํ„ฐ๋ฏธ๋„์„ ์—ด๊ณ  git --version์„ ์ž‘์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ๋‹ต๋ณ€์„ ์–ป์œผ๋ฉด ์•„๋ฌด๊ฒƒ๋„ ์„ค์น˜ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

ํ„ฐ๋ฏธ๋„์„ ์—ด๊ณ  ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค. Ubuntu์˜ ๊ฒฝ์šฐ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž‘์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. sudo apt-get install git. ์ด์ œ ๋ชจ๋“  ํ„ฐ๋ฏธ๋„์—์„œ Git์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

macOS์— ์„ค์น˜

์—ฌ๊ธฐ์„œ๋„ Git์ด ์ด๋ฏธ ์žˆ๋Š”์ง€ ๋จผ์ € ํ™•์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค(์œ„ ์ฐธ์กฐ, Linux์™€ ๋™์ผ).

๊ฐ€์ง€๊ณ  ์žˆ์ง€ ์•Š์€ ๊ฒฝ์šฐ ๊ฐ€์žฅ ์‰ฌ์šด ๋ฐฉ๋ฒ•์€ ์ตœ์‹  ๋ฒ„์ „์„ ๋‹ค์šด๋กœ๋“œํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค . Xcode๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ์œผ๋ฉด Git์ด ์ž๋™์œผ๋กœ ์„ค์น˜๋ฉ๋‹ˆ๋‹ค.

ํž˜๋‚ด ์„ค์ •

Git์—๋Š” ์ž‘์—…์„ ์ œ์ถœํ•  ์‚ฌ์šฉ์ž์— ๋Œ€ํ•œ ์‚ฌ์šฉ์ž ์„ค์ •์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ปค๋ฐ‹์ด ์ƒ์„ฑ๋  ๋•Œ Git์ด Author ํ•„๋“œ์— ๋Œ€ํ•ด ์ด ์ •๋ณด๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ด๊ฒƒ์€ ์ด์น˜์— ๋งž๊ณ  ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜์—ฌ ๋ชจ๋“  ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•œ ์‚ฌ์šฉ์ž ์ด๋ฆ„๊ณผ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์„ค์ •ํ•˜์‹ญ์‹œ์˜ค.

git config --global user.name "Ivan Ivanov" git config --global user.email ivan.ivanov@gmail.com

ํŠน์ • ํ”„๋กœ์ ํŠธ(์˜ˆ: ๊ฐœ์ธ ํ”„๋กœ์ ํŠธ)์˜ ์ž‘์„ฑ์ž๋ฅผ ๋ณ€๊ฒฝํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ "--global"์„ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์šฐ๋ฆฌ์—๊ฒŒ ๋‹ค์Œ์„ ์ค„ ๊ฒƒ์ž…๋‹ˆ๋‹ค:

git config user.name "์ด๋ฐ˜ ์ด๋ฐ”๋…ธํ”„" git config user.email ivan.ivanov@gmail.com

์•ฝ๊ฐ„์˜ ์ด๋ก 

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

์–ด๋–ค ๋ง๊ณผ ํ–‰๋™?

  • Git ์ €์žฅ์†Œ
  • ์ €์ง€๋ฅด๋‹ค
  • ๋‚˜๋ญ‡๊ฐ€์ง€
  • ๋ณ‘ํ•ฉ
  • ๊ฐˆ๋“ฑ
  • ๋‹น๊ธฐ๋‹ค
  • ํ‘ธ์‹œ
  • ์ผ๋ถ€ ํŒŒ์ผ(.gitignore)์„ ๋ฌด์‹œํ•˜๋Š” ๋ฐฉ๋ฒ•

๋“ฑ๋“ฑ.

Git์˜ ์ƒํƒœ

Git์—๋Š” ์ดํ•ดํ•˜๊ณ  ๊ธฐ์–ตํ•ด์•ผ ํ•˜๋Š” ๋ช‡ ๊ฐ€์ง€ ์กฐ๊ฐ์ƒ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์ถ”์ ๋˜์ง€ ์•Š์€
  • ์ˆ˜์ •
  • ์ผ๋ถ€๋Ÿฌ ๊พธ๋ฏผ
  • ํ—Œ์‹ ์ ์ธ

์ด๊ฒƒ์„ ์–ด๋–ป๊ฒŒ ์ดํ•ดํ•ด์•ผ ํ• ๊นŒ์š”?

์ฝ”๋“œ๊ฐ€ ํฌํ•จ๋œ ํŒŒ์ผ์— ์ ์šฉ๋˜๋Š” ์ƒํƒœ์ž…๋‹ˆ๋‹ค. ์ฆ‰, ์ˆ˜๋ช… ์ฃผ๊ธฐ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • ์ƒ์„ฑ๋˜์—ˆ์ง€๋งŒ ์•„์ง ์ €์žฅ์†Œ์— ์ถ”๊ฐ€๋˜์ง€ ์•Š์€ ํŒŒ์ผ์€ "์ถ”์ ๋˜์ง€ ์•Š์Œ" ์ƒํƒœ์ž…๋‹ˆ๋‹ค.
  • Git ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ์ด๋ฏธ ์ถ”๊ฐ€๋œ ํŒŒ์ผ์„ ๋ณ€๊ฒฝํ•˜๋ฉด ์ƒํƒœ๊ฐ€ "์ˆ˜์ •๋จ"์ด ๋ฉ๋‹ˆ๋‹ค.
  • ๋ณ€๊ฒฝํ•œ ํŒŒ์ผ ์ค‘์—์„œ ํ•„์š”ํ•œ ํŒŒ์ผ(์˜ˆ: ์ปดํŒŒ์ผ๋œ ํด๋ž˜์Šค๊ฐ€ ํ•„์š” ์—†์Œ)์„ ์„ ํƒํ•˜๋ฉด ์ด๋Ÿฌํ•œ ํด๋ž˜์Šค๊ฐ€ "์Šคํ…Œ์ด์ง€" ์ƒํƒœ๋กœ ๋ณ€๊ฒฝ๋ฉ๋‹ˆ๋‹ค.
  • ์ค€๋น„ ์ƒํƒœ์˜ ์ค€๋น„๋œ ํŒŒ์ผ์—์„œ ์ปค๋ฐ‹์ด ์ƒ์„ฑ๋˜์–ด Git ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ ์ดํ›„์—๋Š” "์Šคํ…Œ์ด์ง€" ์ƒํƒœ์˜ ํŒŒ์ผ์ด ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์—ฌ์ „ํžˆ ์ƒํƒœ๊ฐ€ "์ˆ˜์ •๋จ"์ธ ํŒŒ์ผ์ด ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

์ปค๋ฐ‹์ด๋ž€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

์ปค๋ฐ‹์€ ๋ฒ„์ „ ์ œ์–ด์™€ ๊ด€๋ จํ•˜์—ฌ ์ฃผ์š” ์ด๋ฒคํŠธ์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ์ปค๋ฐ‹์ด ์‹œ์ž‘๋œ ์ดํ›„์— ๋ณ€๊ฒฝ๋œ ๋ชจ๋“  ๋‚ด์šฉ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ์ปค๋ฐ‹์€ ๋‹จ์ผ ์—ฐ๊ฒฐ ๋ชฉ๋ก์ฒ˜๋Ÿผ ํ•จ๊ป˜ ์—ฐ๊ฒฐ๋ฉ๋‹ˆ๋‹ค.

ํŠนํžˆ ์ฒซ ๋ฒˆ์งธ ์ปค๋ฐ‹์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋‘ ๋ฒˆ์งธ ์ปค๋ฐ‹์ด ์ƒ์„ฑ๋˜๋ฉด ๋‘ ๋ฒˆ์งธ ์ปค๋ฐ‹์€ ์ฒซ ๋ฒˆ์งธ ์ปค๋ฐ‹ ๋‹ค์Œ์— ๋ฌด์—‡์ด ์˜ค๋Š”์ง€ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด๋Ÿฌํ•œ ๋ฐฉ์‹์œผ๋กœ ์ •๋ณด๋ฅผ ์ถ”์ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ปค๋ฐ‹์—๋Š” ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ผ๊ณ  ํ•˜๋Š” ์ž์ฒด ์ •๋ณด๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์ปค๋ฐ‹์„ ์ฐพ๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ปค๋ฐ‹์˜ ๊ณ ์œ  ์‹๋ณ„์ž
  • ์ปค๋ฐ‹์„ ๋งŒ๋“  ์ž‘์„ฑ์ž์˜ ์ด๋ฆ„
  • ์ปค๋ฐ‹์ด ์ƒ์„ฑ๋œ ๋‚ ์งœ
  • ์ปค๋ฐ‹ ์ค‘์— ์ˆ˜ํ–‰๋œ ์ž‘์—…์„ ์„ค๋ช…ํ•˜๋Š” ์ฃผ์„

๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

์ง€์ ์ด๋ž€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

๋ถ„๊ธฐ๋Š” ์ผ๋ถ€ ์ปค๋ฐ‹์— ๋Œ€ํ•œ ํฌ์ธํ„ฐ์ž…๋‹ˆ๋‹ค. ์ปค๋ฐ‹์€ ์–ด๋–ค ์ปค๋ฐ‹์ด ์„ ํ–‰ํ•˜๋Š”์ง€ ์•Œ๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ถ„๊ธฐ๊ฐ€ ์ปค๋ฐ‹์„ ๊ฐ€๋ฆฌํ‚ค๋ฉด ์ด์ „ ์ปค๋ฐ‹๋„ ๋ชจ๋‘ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ๋™์ผํ•œ ์ปค๋ฐ‹์„ ๊ฐ€๋ฆฌํ‚ค๋Š” ์ง€์ ์„ ์›ํ•˜๋Š” ๋งŒํผ ๋งŽ์ด ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค๊ณ  ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ž‘์—…์€ ๋ธŒ๋žœ์น˜์—์„œ ๋ฐœ์ƒํ•˜๋ฏ€๋กœ ์ƒˆ ์ปค๋ฐ‹์ด ์ƒ์„ฑ๋˜๋ฉด ๋ธŒ๋žœ์น˜๋Š” ํฌ์ธํ„ฐ๋ฅผ ๋” ์ตœ๊ทผ ์ปค๋ฐ‹์œผ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

ํž˜๋‚ด ์‹œ์ž‘ํ•˜๊ธฐ

์›๊ฒฉ ์ €์žฅ์†Œ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋กœ์ปฌ ์ €์žฅ์†Œ๋กœ๋„ ์ž‘์—…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

์›๊ฒฉ ์ €์žฅ์†Œ์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•˜๋Š” ๊ฒฝ์šฐ ๋ชจ๋“  ์ •๋ณด๋Š” ์›๊ฒฉ ์„œ๋ฒ„ ์–ด๋”˜๊ฐ€์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ์˜ ๋ณต์‚ฌ๋ณธ๋งŒ ๋กœ์ปฌ์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. ๋กœ์ปฌ ๋ณต์‚ฌ๋ณธ์— ๋Œ€ํ•œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์›๊ฒฉ ์ €์žฅ์†Œ๋กœ ํ‘ธ์‹œ(git push)ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์™€ ์•„๋ž˜์˜ ๋…ผ์˜์—์„œ ์šฐ๋ฆฌ๋Š” ์ฝ˜์†”์—์„œ Git ์ž‘์—…์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฌผ๋ก  ์ผ์ข…์˜ GUI ๊ธฐ๋ฐ˜ ์†”๋ฃจ์…˜(์˜ˆ: IntelliJ IDEA)์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ๋จผ์ € ์‹คํ–‰ ์ค‘์ธ ๋ช…๋ น๊ณผ ๊ทธ ์˜๋ฏธ๋ฅผ ํŒŒ์•…ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋กœ์ปฌ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์—์„œ Git ์ž‘์—…

๋กœ์ปฌ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ๋งŒ๋“ค๋ ค๋ฉด ๋‹ค์Œ์„ ์ž‘์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ž์‹ ์ดˆ๊ธฐํ™”

๊ทธ๋Ÿฌ๋ฉด ์ฝ˜์†”์˜ ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ์— ์ˆจ๊ฒจ์ง„ .git ํด๋”๊ฐ€ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.

.git ํด๋”๋Š” Git ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ๋Œ€ํ•œ ๋ชจ๋“  ์ •๋ณด๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ์‚ญ์ œํ•˜์ง€ ๋งˆ์„ธ์š” ;)

๋‹ค์Œ์œผ๋กœ ํŒŒ์ผ์ด ํ”„๋กœ์ ํŠธ์— ์ถ”๊ฐ€๋˜๊ณ  "์ถ”์ ๋˜์ง€ ์•Š์Œ" ์ƒํƒœ๊ฐ€ ์ง€์ •๋ฉ๋‹ˆ๋‹ค. ์ž‘์—…์˜ ํ˜„์žฌ ์ƒํƒœ๋ฅผ ํ™•์ธํ•˜๋ ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž‘์„ฑํ•˜์‹ญ์‹œ์˜ค.

์ž์‹ ์ƒํƒœ

์šฐ๋ฆฌ๋Š” ๋งˆ์Šคํ„ฐ ๋ธŒ๋žœ์น˜์— ์žˆ์œผ๋ฉฐ ๋‹ค๋ฅธ ๋ธŒ๋žœ์น˜๋กœ ์ „ํ™˜ํ•  ๋•Œ๊นŒ์ง€ ์—ฌ๊ธฐ์— ๋‚จ์•„ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ๋ณ€๊ฒฝ๋˜์—ˆ์ง€๋งŒ ์•„์ง "์Šคํ…Œ์ด์ง€" ์ƒํƒœ์— ์ถ”๊ฐ€๋˜์ง€ ์•Š์€ ํŒŒ์ผ์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. "staged" ์ƒํƒœ์— ์ถ”๊ฐ€ํ•˜๋ ค๋ฉด "git add"๋ผ๊ณ  ์ž‘์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์— ๋ช‡ ๊ฐ€์ง€ ์˜ต์…˜์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • git add -A โ€” ๋ชจ๋“  ํŒŒ์ผ์„ "staged" ์ƒํƒœ๋กœ ์ถ”๊ฐ€
  • ์ž์‹ ์ถ”๊ฐ€ . โ€” ์ด ํด๋”์™€ ๋ชจ๋“  ํ•˜์œ„ ํด๋”์˜ ๋ชจ๋“  ํŒŒ์ผ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ๋ณธ์งˆ์ ์œผ๋กœ ์ด์ „ ๊ฒƒ๊ณผ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.
  • git add <file name> โ€” ํŠน์ • ํŒŒ์ผ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—์„œ ์ •๊ทœ์‹์„ ์‚ฌ์šฉํ•˜์—ฌ ์ผ๋ถ€ ํŒจํ„ด์— ๋”ฐ๋ผ ํŒŒ์ผ์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, git add *.java: ์ด๋Š” ํ™•์žฅ์ž๊ฐ€ java์ธ ํŒŒ์ผ๋งŒ ์ถ”๊ฐ€ํ•˜๋ ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

์ฒ˜์Œ ๋‘ ์˜ต์…˜์€ ๋ถ„๋ช…ํžˆ ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค. ์ตœ์‹  ์ถ”๊ฐ€ ๊ธฐ๋Šฅ์œผ๋กœ ์ƒํ™ฉ์ด ๋”์šฑ ํฅ๋ฏธ๋กœ์›Œ์ง€๋ฏ€๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž‘์„ฑํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์ž์‹ ์ถ”๊ฐ€ *.txt

์ƒํƒœ๋ฅผ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ์ด๋ฏธ ์•Œ๋ ค์ง„ ๋ช…๋ น์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์ž์‹ ์ƒํƒœ

์—ฌ๊ธฐ์—์„œ ์ •๊ทœ ํ‘œํ˜„์‹์ด ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ž‘๋™ํ–ˆ์Œ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. test_resource.txt๋Š” ์ด์ œ "์Šคํ…Œ์ด์ง€" ์ƒํƒœ์ž…๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๋งˆ์ง€๋ง‰์œผ๋กœ ๋กœ์ปฌ ์ €์žฅ์†Œ ์ž‘์—…์„ ์œ„ํ•œ ๋งˆ์ง€๋ง‰ ๋‹จ๊ณ„์ž…๋‹ˆ๋‹ค(์›๊ฒฉ ์ €์žฅ์†Œ ์ž‘์—… ์‹œ ํ•˜๋‚˜ ๋” ์žˆ์Šต๋‹ˆ๋‹ค ;)) โ€” ์ƒˆ ์ปค๋ฐ‹ ์ƒ์„ฑ:

git commit -m "๋ชจ๋“  txt ํŒŒ์ผ์ด ํ”„๋กœ์ ํŠธ์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค"

๋‹ค์Œ์€ ๋ธŒ๋žœ์น˜์˜ ์ปค๋ฐ‹ ํžˆ์Šคํ† ๋ฆฌ๋ฅผ ๋ณด๊ธฐ ์œ„ํ•œ ํ›Œ๋ฅญํ•œ ๋ช…๋ น์ž…๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์„ ํ™œ์šฉํ•˜์ž:

์ž์‹ ๋กœ๊ทธ

์—ฌ๊ธฐ์—์„œ ์ฒซ ๋ฒˆ์งธ ์ปค๋ฐ‹์„ ์ƒ์„ฑํ–ˆ์œผ๋ฉฐ ๋ช…๋ น์ค„์—์„œ ์ œ๊ณตํ•œ ํ…์ŠคํŠธ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Œ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ํ…์ŠคํŠธ๋Š” ์ด ์ปค๋ฐ‹ ์ค‘์— ์ˆ˜ํ–‰๋œ ์ž‘์—…์„ ๊ฐ€๋Šฅํ•œ ํ•œ ์ •ํ™•ํ•˜๊ฒŒ ์„ค๋ช…ํ•ด์•ผ ํ•œ๋‹ค๋Š” ์ ์„ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์ด ๋งค์šฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์•ž์œผ๋กœ ์—ฌ๋Ÿฌ ๋ฒˆ ์šฐ๋ฆฌ์—๊ฒŒ ๋„์›€์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์•„์ง ์ž ๋“ค์ง€ ์•Š์€ ํ˜ธ๊ธฐ์‹ฌ ๋งŽ์€ ๋…์ž๋Š” GitTest.java ํŒŒ์ผ์— ๋ฌด์Šจ ์ผ์ด ์ผ์–ด๋‚ฌ๋Š”์ง€ ๊ถ๊ธˆํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ง€๊ธˆ ๋ฐ”๋กœ ์•Œ์•„๋ด…์‹œ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด ๋‹ค์Œ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์ž์‹ ์ƒํƒœ

๋ณด์‹œ๋‹ค์‹œํ”ผ ์—ฌ์ „ํžˆ "์ถ”์ ๋˜์ง€ ์•Š์€" ์ƒํƒœ์ด๋ฉฐ ๋Œ€๊ธฐ ์ค‘์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ํ”„๋กœ์ ํŠธ์— ์ „ํ˜€ ์ถ”๊ฐ€ํ•˜๊ณ  ์‹ถ์ง€ ์•Š๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ• ๊นŒ์š”? ๋•Œ๋•Œ๋กœ ๊ทธ๋Ÿฐ ์ผ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

์ข€ ๋” ํฅ๋ฏธ๋กญ๊ฒŒ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ์ด์ œ test_resource.txt ํŒŒ์ผ์„ ๋ณ€๊ฒฝํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ฑฐ๊ธฐ์— ํ…์ŠคํŠธ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ์ƒํƒœ๋ฅผ ํ™•์ธํ•ฉ์‹œ๋‹ค.

์ž์‹ ์ƒํƒœ

์—ฌ๊ธฐ์—์„œ "์ถ”์ ๋˜์ง€ ์•Š์Œ" ์ƒํƒœ์™€ "์ˆ˜์ •๋จ" ์ƒํƒœ์˜ ์ฐจ์ด๋ฅผ ๋ช…ํ™•ํ•˜๊ฒŒ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

GitTest.java๋Š” "์ถ”์ ๋˜์ง€ ์•Š์Œ"์ด๊ณ  test_resource.txt๋Š” "์ˆ˜์ •๋จ"์ž…๋‹ˆ๋‹ค.

์ˆ˜์ •๋œ ์ƒํƒœ์˜ ํŒŒ์ผ์ด ์žˆ์œผ๋ฏ€๋กœ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๊ฒ€์‚ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋‹ค์Œ ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ž์‹ ์ฐจ์ด

์ฆ‰, ๋‚ด๊ฐ€ ํ…์ŠคํŠธ ํŒŒ์ผ์— ์ถ”๊ฐ€ํ•œ ๋‚ด์šฉ์„ ์—ฌ๊ธฐ์—์„œ ๋ช…ํ™•ํ•˜๊ฒŒ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Hello World!

๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ํ…์ŠคํŠธ ํŒŒ์ผ์— ์ถ”๊ฐ€ํ•˜๊ณ  ์ปค๋ฐ‹์„ ์ƒ์„ฑํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์ž์‹ ์ถ”๊ฐ€ test_resource.txt
git commit -m โ€œ์•ˆ๋…•ํ•˜์„ธ์š”! test_resource.txt๋กœโ€

๋ชจ๋“  ์ปค๋ฐ‹์„ ๋ณด๋ ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž‘์„ฑํ•˜์‹ญ์‹œ์˜ค.

์ž์‹ ๋กœ๊ทธ

๋ณด์‹œ๋‹ค์‹œํ”ผ ์ด์ œ ๋‘ ๊ฐœ์˜ ์ปค๋ฐ‹์ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋™์ผํ•œ ๋ฐฉ์‹์œผ๋กœ GitTest.java๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ์„ค๋ช…์ด ์—†์œผ๋ฉฐ ๋ช…๋ น๋งŒ ์žˆ์Šต๋‹ˆ๋‹ค.

์ž์‹ ์ถ”๊ฐ€ GitTest.java
git commit -m "GitTest.java ์ถ”๊ฐ€"
์ž์‹ ์ƒํƒœ

.gitignore ์ž‘์—…

๋ถ„๋ช…ํžˆ ์šฐ๋ฆฌ๋Š” ์ €์žฅ์†Œ์— ์†Œ์Šค ์ฝ”๋“œ๋งŒ ์œ ์ง€ํ•˜๊ณ  ๋‹ค๋ฅธ ์–ด๋–ค ๊ฒƒ๋„ ์œ ์ง€ํ•˜์ง€ ์•Š๊ธฐ๋ฅผ ์›ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋ฌด์—‡์ด ๋”์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ์ตœ์†Œํ•œ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์—์„œ ์ƒ์„ฑ๋œ ์ปดํŒŒ์ผ๋œ ํด๋ž˜์Šค ๋ฐ/๋˜๋Š” ํŒŒ์ผ.

Git์—๊ฒŒ ๋ฌด์‹œํ•˜๋ผ๊ณ  ์ง€์‹œํ•˜๋ ค๋ฉด ํŠน์ˆ˜ ํŒŒ์ผ์„ ๋งŒ๋“ค์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ฐฉ๋ฒ•: ํ”„๋กœ์ ํŠธ์˜ ๋ฃจํŠธ์— .gitignore๋ผ๋Š” ํŒŒ์ผ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์ด ํŒŒ์ผ์˜ ๊ฐ ์ค„์€ ๋ฌด์‹œํ•  ํŒจํ„ด์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

์ด ์˜ˆ์—์„œ .gitignore ํŒŒ์ผ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

*.class
target/
*.iml
.idea/

ํ•œ ๋ฒˆ ๋ณด์ž:

  • ์ฒซ ๋ฒˆ์งธ ์ค„์€ ํ™•์žฅ์ž๊ฐ€ .class์ธ ๋ชจ๋“  ํŒŒ์ผ์„ ๋ฌด์‹œํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
  • ๋‘ ๋ฒˆ์งธ ์ค„์€ "๋Œ€์ƒ" ํด๋”์™€ ํฌํ•จ๋œ ๋ชจ๋“  ํ•ญ๋ชฉ์„ ๋ฌด์‹œํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
  • ์„ธ ๋ฒˆ์งธ ์ค„์€ ํ™•์žฅ์ž๊ฐ€ .iml์ธ ๋ชจ๋“  ํŒŒ์ผ์„ ๋ฌด์‹œํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
  • ๋„ค ๋ฒˆ์งธ ์ค„์€ .idea ํด๋”๋ฅผ ๋ฌด์‹œํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์˜ˆ์ œ๋ฅผ ์‚ฌ์šฉํ•ด ๋ด…์‹œ๋‹ค. ์ž‘๋™ ๋ฐฉ์‹์„ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ์ปดํŒŒ์ผ๋œ GitTest.class๋ฅผ ํ”„๋กœ์ ํŠธ์— ์ถ”๊ฐ€ํ•˜๊ณ  ํ”„๋กœ์ ํŠธ ์ƒํƒœ๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

์ž์‹ ์ƒํƒœ

๋ถ„๋ช…ํžˆ ์šฐ๋ฆฌ๋Š” ์‹ค์ˆ˜๋กœ ์ปดํŒŒ์ผ๋œ ํด๋ž˜์Šค๋ฅผ ํ”„๋กœ์ ํŠธ์— ์ถ”๊ฐ€ํ•˜๊ณ  ์‹ถ์ง€ ์•Š์Šต๋‹ˆ๋‹ค(git add -A ์‚ฌ์šฉ). ์ด๋ ‡๊ฒŒ ํ•˜๋ ค๋ฉด .gitignore ํŒŒ์ผ์„ ๋งŒ๋“ค๊ณ  ์•ž์—์„œ ์„ค๋ช…ํ•œ ๋ชจ๋“  ํ•ญ๋ชฉ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

์ด์ œ ์ปค๋ฐ‹์„ ์‚ฌ์šฉํ•˜์—ฌ .gitignore ํŒŒ์ผ์„ ํ”„๋กœ์ ํŠธ์— ์ถ”๊ฐ€ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์ž์‹ ์ถ”๊ฐ€ .gitignore
git commit -m ".gitignore ํŒŒ์ผ ์ถ”๊ฐ€"

๊ทธ๋ฆฌ๊ณ  ์ด์ œ ์ง„์‹ค์˜ ์ˆœ๊ฐ„: ์šฐ๋ฆฌ๋Š” Git ์ €์žฅ์†Œ์— ์ถ”๊ฐ€ํ•˜๊ณ  ์‹ถ์ง€ ์•Š์€ "์ถ”์ ๋˜์ง€ ์•Š์€" ์ปดํŒŒ์ผ๋œ ํด๋ž˜์Šค GitTest.class๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์ด์ œ .gitignore ํŒŒ์ผ์˜ ํšจ๊ณผ๋ฅผ ํ™•์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ž์‹ ์ƒํƒœ

์™„๋ฒฝํ•œ! .gitignore +1 :)

๋ธŒ๋žœ์น˜ ์ž‘์—…

๋‹น์—ฐํžˆ ํ•˜๋‚˜์˜ ๋ธŒ๋žœ์น˜์—์„œ ์ž‘์—…ํ•˜๋Š” ๊ฒƒ์€ ๋‹จ๋… ๊ฐœ๋ฐœ์ž์—๊ฒŒ๋Š” ๋ถˆํŽธํ•˜๊ณ  ํ•œ ํŒ€์— ์—ฌ๋Ÿฌ ์‚ฌ๋žŒ์ด ์žˆ์„ ๋•Œ๋Š” ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ์šฐ๋ฆฌ์—๊ฒŒ ์ง€์ ์ด ์žˆ๋Š” ์ด์œ ์ž…๋‹ˆ๋‹ค.

๋ถ„๊ธฐ๋Š” ์ปค๋ฐ‹์— ๋Œ€ํ•œ ์ด๋™ ๊ฐ€๋Šฅํ•œ ํฌ์ธํ„ฐ์ผ ๋ฟ์ž…๋‹ˆ๋‹ค.

์ด ํŒŒํŠธ์—์„œ๋Š” โ€‹โ€‹์„œ๋กœ ๋‹ค๋ฅธ ๋ธŒ๋žœ์น˜์—์„œ ์ž‘์—…ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ํ•œ ๋ธŒ๋žœ์น˜์—์„œ ๋‹ค๋ฅธ ๋ธŒ๋žœ์น˜๋กœ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋ณ‘ํ•ฉํ•˜๋Š” ๋ฐฉ๋ฒ•, ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ์ถฉ๋Œ ๋“ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ €์žฅ์†Œ์˜ ๋ชจ๋“  ๋ธŒ๋žœ์น˜ ๋ชฉ๋ก์„ ๋ณด๊ณ  ์ž์‹ ์ด ์†ํ•œ ๋ธŒ๋žœ์น˜๋ฅผ ์ดํ•ดํ•˜๋ ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž‘์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ž์‹ ๋ถ„๊ธฐ -a

๋งˆ์Šคํ„ฐ ๋ถ„๊ธฐ๊ฐ€ ํ•˜๋‚˜๋งŒ ์žˆ๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ ์•ž์˜ ๋ณ„ํ‘œ๋Š” ์šฐ๋ฆฌ๊ฐ€ ๊ทธ ์•ˆ์— ์žˆ์Œ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ๊ทธ๊ฑด ๊ทธ๋ ‡๊ณ , "git status" ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ์šฐ๋ฆฌ๊ฐ€ ์†ํ•œ ๋ถ„๊ธฐ๋ฅผ ์ฐพ์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฐ ๋‹ค์Œ ๊ฐ€์ง€๋ฅผ ๋งŒ๋“œ๋Š” ๋ช‡ ๊ฐ€์ง€ ์˜ต์…˜์ด ์žˆ์Šต๋‹ˆ๋‹ค(๋” ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ œ๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ์˜ต์…˜์ž…๋‹ˆ๋‹ค).

  • ์šฐ๋ฆฌ๊ฐ€ ์žˆ๋Š” ์ง€์ ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ƒˆ ์ง€์ ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค(99%์˜ ๊ฒฝ์šฐ).
  • ํŠน์ • ์ปค๋ฐ‹์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ถ„๊ธฐ ์ƒ์„ฑ(์‚ฌ๋ก€์˜ 1%)

ํŠน์ • ์ปค๋ฐ‹์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ถ„๊ธฐ๋ฅผ ๋งŒ๋“ค์–ด ๋ด…์‹œ๋‹ค

์ปค๋ฐ‹์˜ ๊ณ ์œ  ์‹๋ณ„์ž์— ์˜์กดํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์„ ์ฐพ๊ธฐ ์œ„ํ•ด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.

์ž์‹ ๋กœ๊ทธ

" added hello world..."๋ผ๋Š” ์ฃผ์„์œผ๋กœ ์ปค๋ฐ‹์„ ๊ฐ•์กฐ ํ‘œ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ณ ์œ  ์‹๋ณ„์ž๋Š” 6c44e53d06228f888f2f454d3cb8c1c976dd73f8์ž…๋‹ˆ๋‹ค. ์ด ์ปค๋ฐ‹์—์„œ ์‹œ์ž‘ํ•˜๋Š” "๊ฐœ๋ฐœ" ๋ถ„๊ธฐ๋ฅผ ๋งŒ๋“ค๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.

git checkout -b ๊ฐœ๋ฐœ 6c44e53d06228f888f2f454d3cb8c1c976dd73f8

๋งˆ์Šคํ„ฐ ๋ธŒ๋žœ์น˜์˜ ์ฒ˜์Œ ๋‘ ์ปค๋ฐ‹๋งŒ์œผ๋กœ ๋ธŒ๋žœ์น˜๊ฐ€ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ๋จผ์ € ๋‹ค๋ฅธ ๋ธŒ๋žœ์น˜๋กœ ์ „ํ™˜ํ•˜๊ณ  ์ปค๋ฐ‹ ์ˆ˜๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

์ž์‹ ์ƒํƒœ
์ž์‹ ๋กœ๊ทธ

์˜ˆ์ƒ๋Œ€๋กœ ์ปค๋ฐ‹์ด ๋‘ ๊ฐœ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์—ฌ๊ธฐ ํฅ๋ฏธ๋กœ์šด ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ถ„๊ธฐ์—๋Š” ์•„์ง .gitignore ํŒŒ์ผ์ด ์—†์œผ๋ฏ€๋กœ ์ปดํŒŒ์ผ๋œ ํŒŒ์ผ(GitTest.class)์ด ์ด์ œ "์ถ”์ ๋˜์ง€ ์•Š์Œ" ์ƒํƒœ๋กœ ๊ฐ•์กฐ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

์ด์ œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž‘์„ฑํ•˜์—ฌ ๋ถ„๊ธฐ๋ฅผ ๋‹ค์‹œ ๊ฒ€ํ† ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ž์‹ ๋ถ„๊ธฐ -a

"๋งˆ์Šคํ„ฐ"์™€ "๊ฐœ๋ฐœ"์˜ ๋‘ ๊ฐ€์ง€ ๋ถ„๊ธฐ๊ฐ€ ์žˆ์Œ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ํ˜„์žฌ ๊ฐœ๋ฐœ ์ค‘์ž…๋‹ˆ๋‹ค.

ํ˜„์žฌ ๋ธŒ๋žœ์น˜๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ธŒ๋žœ์น˜๋ฅผ ๋งŒ๋“ค์–ด ๋ด…์‹œ๋‹ค.

๋ถ„๊ธฐ๋ฅผ ๋งŒ๋“œ๋Š” ๋‘ ๋ฒˆ์งธ ๋ฐฉ๋ฒ•์€ ๋‹ค๋ฅธ ๋ถ„๊ธฐ์—์„œ ๋งŒ๋“œ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋งˆ์Šคํ„ฐ ๋ธŒ๋žœ์น˜๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ธŒ๋žœ์น˜๋ฅผ ์ƒ์„ฑํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋จผ์ € ์ „ํ™˜ํ•ด์•ผ ํ•˜๋ฉฐ ๋‹ค์Œ ๋‹จ๊ณ„๋Š” ์ƒˆ ํ•ญ๋ชฉ์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ•œ ๋ฒˆ ๋ณด์ž:

  • git checkout master โ€” ๋งˆ์Šคํ„ฐ ๋ธŒ๋žœ์น˜๋กœ ์ „ํ™˜
  • git status โ€” ์‹ค์ œ๋กœ ๋งˆ์Šคํ„ฐ ๋ธŒ๋žœ์น˜์— ์žˆ๋Š”์ง€ ํ™•์ธ

์—ฌ๊ธฐ์—์„œ ๋งˆ์Šคํ„ฐ ๋ธŒ๋žœ์น˜๋กœ ์ „ํ™˜ํ•˜๊ณ  .gitignore ํŒŒ์ผ์ด ์ ์šฉ๋˜๊ณ  ์ปดํŒŒ์ผ๋œ ํด๋ž˜์Šค๊ฐ€ ๋” ์ด์ƒ "์ถ”์ ๋˜์ง€ ์•Š์Œ"์œผ๋กœ ๊ฐ•์กฐ ํ‘œ์‹œ๋˜์ง€ ์•Š๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด์ œ ๋งˆ์Šคํ„ฐ ๋ธŒ๋žœ์น˜๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ƒˆ ๋ธŒ๋žœ์น˜๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

git checkout -b ๊ธฐ๋Šฅ/์—…๋ฐ์ดํŠธ-txt-ํŒŒ์ผ

์ด ๋ถ„๊ธฐ๊ฐ€ "๋งˆ์Šคํ„ฐ"์™€ ๊ฐ™์€์ง€ ํ™•์‹คํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ "git log"๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ๋ชจ๋“  ์ปค๋ฐ‹์„ ๋ณด๋ฉด ์‰ฝ๊ฒŒ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋„ค ๊ฐœ๊ฐ€ ์žˆ์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.

๊ฐˆ๋“ฑ ํ•ด๊ฒฐ

์ถฉ๋Œ์ด ๋ฌด์—‡์ธ์ง€ ์•Œ์•„๋ณด๊ธฐ ์ „์— ํ•œ ๊ฐ€์ง€๋ฅผ ๋‹ค๋ฅธ ๊ฐ€์ง€๋กœ ๋ณ‘ํ•ฉํ•˜๋Š” ๊ฒƒ์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ด ๊ทธ๋ฆผ์€ ํ•œ ๋ถ„๊ธฐ๋ฅผ ๋‹ค๋ฅธ ๋ถ„๊ธฐ๋กœ ๋ณ‘ํ•ฉํ•˜๋Š” ๊ณผ์ •์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์— ๋ณธ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์–ด๋Š ์‹œ์ ์—์„œ ๋ณด์กฐ ๋ถ„๊ธฐ๊ฐ€ ๊ธฐ๋ณธ ๋ถ„๊ธฐ์—์„œ ์ƒ์„ฑ๋œ ๋‹ค์Œ ์ˆ˜์ •๋ฉ๋‹ˆ๋‹ค. ์ž‘์—…์ด ์™„๋ฃŒ๋˜๋ฉด ํ•œ ๋ถ„๊ธฐ๋ฅผ ๋‹ค๋ฅธ ๋ถ„๊ธฐ์— ๋ณ‘ํ•ฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ด ์˜ˆ์—์„œ๋Š” feature/update-txt-files ๋ถ„๊ธฐ๋ฅผ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ์ง€์  ์ด๋ฆ„์—์„œ ์•Œ ์ˆ˜ ์žˆ๋“ฏ์ด ํ…์ŠคํŠธ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์ด์ œ ์ด ์ž‘์—…์— ๋Œ€ํ•œ ์ƒˆ ์ปค๋ฐ‹์„ ์ƒ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ž์‹ ์ถ”๊ฐ€ *.txt
git commit -m "์—…๋ฐ์ดํŠธ๋œ txt ํŒŒ์ผ"
์ž์‹ ๋กœ๊ทธ

์ด์ œ feature/update-txt-files ๋ถ„๊ธฐ๋ฅผ master๋กœ ๋ณ‘ํ•ฉํ•˜๋ ค๋ฉด master๋กœ ์ด๋™ํ•˜์—ฌ "git merge feature/update-txt-files"๋ฅผ ์ž‘์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ž์‹ ์ฒดํฌ ์•„์›ƒ ๋งˆ์Šคํ„ฐ
์ž์‹ ๋ณ‘ํ•ฉ ๊ธฐ๋Šฅ/์—…๋ฐ์ดํŠธ-txt-ํŒŒ์ผ
์ž์‹ ๋กœ๊ทธ

๊ทธ ๊ฒฐ๊ณผ ์ด์ œ master ๋ถ„๊ธฐ์—๋Š” feature/update-txt-files์— ์ถ”๊ฐ€๋œ ์ปค๋ฐ‹๋„ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

์ด ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์—ˆ์œผ๋ฏ€๋กœ ๊ธฐ๋Šฅ ๋ถ„๊ธฐ๋ฅผ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.

git branch -D ๊ธฐ๋Šฅ/์—…๋ฐ์ดํŠธ-txt-ํŒŒ์ผ

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

master๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ƒˆ ๋ถ„๊ธฐ๋ฅผ ๋งŒ๋“ค๊ณ  text_resource.txt๋ฅผ ๋ณ€๊ฒฝํ•˜๊ณ  ์ด ์ž‘์—…์— ๋Œ€ํ•œ ์ปค๋ฐ‹์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

git checkout -b ๊ธฐ๋Šฅ/์ถ”๊ฐ€ ํ—ค๋”

... ํŒŒ์ผ์„ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค.

์ž์‹ ์ถ”๊ฐ€ *.txt
git commit -m "txt์— ํ—ค๋” ์ถ”๊ฐ€"

๋งˆ์Šคํ„ฐ ๋ธŒ๋žœ์น˜๋กœ ์ด๋™ํ•˜๊ณ  ๊ธฐ๋Šฅ ๋ธŒ๋žœ์น˜์—์„œ์™€ ๊ฐ™์€ ์ค„์—์„œ ์ด ํ…์ŠคํŠธ ํŒŒ์ผ๋„ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค.

์ž์‹ ์ฒดํฌ ์•„์›ƒ ๋งˆ์Šคํ„ฐ

โ€ฆ test_resource.txt๋ฅผ ์—…๋ฐ์ดํŠธํ–ˆ์Šต๋‹ˆ๋‹ค.

์ž์‹ ์ถ”๊ฐ€ test_resource.txt
git commit -m "txt์— ๋งˆ์Šคํ„ฐ ํ—ค๋” ์ถ”๊ฐ€"

์ด์ œ ๊ฐ€์žฅ ํฅ๋ฏธ๋กœ์šด ์ ์€ ๊ธฐ๋Šฅ/์ถ”๊ฐ€ ํ—ค๋” ๋ถ„๊ธฐ์—์„œ ๋งˆ์Šคํ„ฐ๋กœ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋ณ‘ํ•ฉํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๋งˆ์Šคํ„ฐ ๋ธŒ๋žœ์น˜์— ์žˆ์œผ๋ฏ€๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž‘์„ฑํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

์ž์‹ ๋ณ‘ํ•ฉ ๊ธฐ๋Šฅ/์ถ”๊ฐ€ ํ—ค๋”

๊ทธ๋Ÿฌ๋‚˜ ๊ทธ ๊ฒฐ๊ณผ test_resource.txt ํŒŒ์ผ์—์„œ ์ถฉ๋Œ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์—์„œ Git์ด ์ด ์ฝ”๋“œ๋ฅผ ๋ณ‘ํ•ฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์Šค์Šค๋กœ ๊ฒฐ์ •ํ•  ์ˆ˜ ์—†์Œ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ถฉ๋Œ์„ ๋จผ์ € ํ•ด๊ฒฐํ•œ ๋‹ค์Œ ์ปค๋ฐ‹์„ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•จ์„ ์•Œ๋ ค์ค๋‹ˆ๋‹ค.

์ข‹์•„์š”. ํ…์ŠคํŠธ ํŽธ์ง‘๊ธฐ์—์„œ ์ถฉ๋Œ์ด ์žˆ๋Š” ํŒŒ์ผ์„ ์—ด๊ณ  ๋‹ค์Œ์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์„œ Git์ด ์ˆ˜ํ–‰ํ•œ ์ž‘์—…์„ ์ดํ•ดํ•˜๋ ค๋ฉด ๋ณ€๊ฒฝ ๋‚ด์šฉ๊ณผ ์œ„์น˜๋ฅผ ๊ธฐ์–ตํ•œ ๋‹ค์Œ ๋น„๊ตํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  1. ๋งˆ์Šคํ„ฐ ๋ธŒ๋žœ์น˜์˜ ์ด ์ค„์— ์žˆ์—ˆ๋˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ "<<<<<<< HEAD"์™€ "=======" ์‚ฌ์ด์— ์žˆ์Šต๋‹ˆ๋‹ค.
  2. feature/add-header ๋ถ„๊ธฐ์— ์žˆ์—ˆ๋˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ "======="์™€ ">>>>>>> feature/add-header" ์‚ฌ์ด์— ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์ด Git์ด ํŒŒ์ผ์˜ ์ด ์œ„์น˜์—์„œ ๋ณ‘ํ•ฉ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋‚ผ ์ˆ˜ ์—†๋‹ค๊ณ  ๋งํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ์ด ์„น์…˜์„ ์„œ๋กœ ๋‹ค๋ฅธ ๋ถ„๊ธฐ์˜ ๋‘ ๋ถ€๋ถ„์œผ๋กœ ๋‚˜๋ˆ„๊ณ  ๋ณ‘ํ•ฉ ์ถฉ๋Œ์„ ์ง์ ‘ ํ•ด๊ฒฐํ•˜๋„๋ก ์ดˆ๋Œ€ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿด ์ˆ˜ ์žˆ์ง€. ๋‚˜๋Š” "ํ—ค๋”"๋ผ๋Š” ๋‹จ์–ด ๋งŒ ๋‚จ๊ธฐ๊ณ  ๋ชจ๋“  ๊ฒƒ์„ ์ œ๊ฑฐํ•˜๊ธฐ๋กœ ๋Œ€๋‹ดํ•˜๊ฒŒ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

๋ณ€๊ฒฝ ์ƒํƒœ๋ฅผ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์„ค๋ช…์ด ์•ฝ๊ฐ„ ๋‹ค๋ฅผ ๊ฒƒ์ž…๋‹ˆ๋‹ค. "์ˆ˜์ •๋จ" ์ƒํƒœ๊ฐ€ ์•„๋‹ˆ๋ผ "๋ณ‘ํ•ฉ ํ•ด์ œ๋จ" ์ƒํƒœ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์šฐ๋ฆฌ๋Š” ๋‹ค์„ฏ ๋ฒˆ์งธ ์ƒํƒœ๋ฅผ ์–ธ๊ธ‰ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๊นŒ? ๋‚˜๋Š” ์ด๊ฒƒ์ด ํ•„์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ณด์ž:

์ž์‹ ์ƒํƒœ

์šฐ๋ฆฌ๋Š” ์ด๊ฒƒ์ด ํŠน๋ณ„ํ•˜๊ณ  ํŠน์ดํ•œ ๊ฒฝ์šฐ๋ผ๊ณ  ์Šค์Šค๋กœ ํ™•์‹ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ณ„์†ํ•˜์ž:

์ž์‹ ์ถ”๊ฐ€ *.txt

์„ค๋ช…์—์„œ "git commit"๋งŒ ์ž‘์„ฑํ•˜๋„๋ก ์ œ์•ˆํ•˜๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž‘์„ฑํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์ž์‹ ์ปค๋ฐ‹

๊ทธ๋ ‡๊ฒŒ ํ•ด์„œ ์ฝ˜์†”์—์„œ ์ถฉ๋Œ์„ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค.

๋ฌผ๋ก  ์ด๊ฒƒ์€ ํ†ตํ•ฉ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์—์„œ ์กฐ๊ธˆ ๋” ์‰ฝ๊ฒŒ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด IntelliJ IDEA์—์„œ๋Š” ํ•„์š”ํ•œ ๋ชจ๋“  ์ž‘์—…์„ ๋ฐ”๋กœ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ชจ๋“  ๊ฒƒ์ด ์ž˜ ์„ค์ •๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ IDE๋Š” "๋‚ด๋ถ€์ ์œผ๋กœ" ๋งŽ์€ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋ฉฐ ์ •ํ™•ํžˆ ๋ฌด์Šจ ์ผ์ด ์ผ์–ด๋‚˜๊ณ  ์žˆ๋Š”์ง€ ์ดํ•ดํ•˜์ง€ ๋ชปํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. ์ดํ•ด๊ฐ€ ์—†์œผ๋ฉด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์›๊ฒฉ ์ €์žฅ์†Œ ์ž‘์—…

๋งˆ์ง€๋ง‰ ๋‹จ๊ณ„๋Š” ์›๊ฒฉ ์ €์žฅ์†Œ ์ž‘์—…์— ํ•„์š”ํ•œ ๋ช‡ ๊ฐ€์ง€ ์ถ”๊ฐ€ ๋ช…๋ น์„ ํŒŒ์•…ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋‚ด๊ฐ€ ๋งํ–ˆ๋“ฏ์ด ์›๊ฒฉ ์ €์žฅ์†Œ๋Š” ์ €์žฅ์†Œ๊ฐ€ ์ €์žฅ๋˜๊ณ  ๋ณต์ œํ•  ์ˆ˜ ์žˆ๋Š” ์žฅ์†Œ์ž…๋‹ˆ๋‹ค.

์–ด๋–ค ์ข…๋ฅ˜์˜ ์›๊ฒฉ ์ €์žฅ์†Œ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ? ์˜ˆ:

  • GitHub๋Š” ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ๋ฐ ๊ณต๋™ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ์ตœ๋Œ€ ์Šคํ† ๋ฆฌ์ง€ ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค.
  • GitLab์€ ์˜คํ”ˆ ์†Œ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” DevOps ์ˆ˜๋ช… ์ฃผ๊ธฐ๋ฅผ ์œ„ํ•œ ์›น ๊ธฐ๋ฐ˜ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. ์ž์ฒด ์œ„ํ‚ค, ๋ฒ„๊ทธ ์ถ”์  ์‹œ์Šคํ…œ, CI/CD ํŒŒ์ดํ”„๋ผ์ธ ๋ฐ ๊ธฐํƒ€ ๊ธฐ๋Šฅ์œผ๋กœ ์ฝ”๋“œ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ Git ๊ธฐ๋ฐ˜ ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค.
  • BitBucket์€ Mercurial ๋ฐ Git ๋ฒ„์ „ ์ œ์–ด ์‹œ์Šคํ…œ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” ํ”„๋กœ์ ํŠธ ํ˜ธ์ŠคํŒ… ๋ฐ ๊ณต๋™ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ์›น ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค. ํ•œ๋•Œ ๋ฌด๋ฃŒ ๊ฐœ์ธ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ์ œ๊ณตํ•œ๋‹ค๋Š” ์ ์—์„œ GitHub๋ณด๋‹ค ํฐ ์ด์ ์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ž‘๋…„์— GitHub๋Š” ์ด ๊ธฐ๋Šฅ์„ ๋ชจ๋‘์—๊ฒŒ ๋ฌด๋ฃŒ๋กœ ์†Œ๊ฐœํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ๋“ฑ๋“ฑโ€ฆ

์›๊ฒฉ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋กœ ์ž‘์—…ํ•  ๋•Œ ๊ฐ€์žฅ ๋จผ์ € ํ•ด์•ผ ํ•  ์ผ์€ ํ”„๋กœ์ ํŠธ๋ฅผ ๋กœ์ปฌ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ๋ณต์ œํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ด๋ฅผ ์œ„ํ•ด ๋กœ์ปฌ์—์„œ ๋งŒ๋“  ํ”„๋กœ์ ํŠธ๋ฅผ ๋‚ด๋ณด๋ƒˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ ๋ˆ„๊ตฌ๋‚˜ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž‘์„ฑํ•˜์—ฌ ์ง์ ‘ ๋ณต์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ž์‹ ํด๋ก  https://github.com/romankh3/git-demo

์ด์ œ ํ”„๋กœ์ ํŠธ์˜ ์™„์ „ํ•œ ๋กœ์ปฌ ์‚ฌ๋ณธ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ์˜ ๋กœ์ปฌ ๋ณต์‚ฌ๋ณธ์ด ์ตœ์‹ ์ธ์ง€ ํ™•์ธํ•˜๋ ค๋ฉด ๋‹ค์Œ์„ ์ž‘์„ฑํ•˜์—ฌ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ฐ€์ ธ์™€์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ํž˜๋‚ด

์šฐ๋ฆฌ์˜ ๊ฒฝ์šฐ ํ˜„์žฌ ์›๊ฒฉ ์ €์žฅ์†Œ์˜ ์•„๋ฌด ๊ฒƒ๋„ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์•˜์œผ๋ฏ€๋กœ ์‘๋‹ต์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ด๋ฏธ ์ตœ์‹ ์ž…๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ์›๊ฒฉ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ๋ณ€๊ฒฝํ•˜๋ฉด ๋กœ์ปฌ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ๊ฐ€์ ธ์˜จ ํ›„ ์—…๋ฐ์ดํŠธ๋ฉ๋‹ˆ๋‹ค.

๋งˆ์ง€๋ง‰์œผ๋กœ ๋งˆ์ง€๋ง‰ ๋ช…๋ น์€ ๋ฐ์ดํ„ฐ๋ฅผ ์›๊ฒฉ ์ €์žฅ์†Œ๋กœ ํ‘ธ์‹œํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋กœ์ปฌ์—์„œ ์ˆ˜ํ–‰ํ•œ ์ž‘์—…์„ ์›๊ฒฉ ์ €์žฅ์†Œ๋กœ ๋ณด๋‚ด๋ ค๋ฉด ๋จผ์ € ๋กœ์ปฌ์—์„œ ์ƒˆ ์ปค๋ฐ‹์„ ์ƒ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์‹œ์—ฐํ•˜๊ธฐ ์œ„ํ•ด ํ…์ŠคํŠธ ํŒŒ์ผ์— ๋‹ค๋ฅธ ๊ฒƒ์„ ์ถ”๊ฐ€ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์ด์ œ ์šฐ๋ฆฌ์—๊ฒŒ ๊ฝค ํ”ํ•œ ์ผ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ž‘์—…์— ๋Œ€ํ•œ ์ปค๋ฐ‹์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

์ž์‹ ์ถ”๊ฐ€ test_resource.txt
git commit -m "ํ‘ธ์‹œํ•  txt ์ค€๋น„"

์ด๋ฅผ ์›๊ฒฉ ์ €์žฅ์†Œ๋กœ ํ‘ธ์‹œํ•˜๋Š” ๋ช…๋ น์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์ž์‹ ํ‘ธ์‹œ

์ง€๊ธˆ์€ ๊ทธ๊ฒŒ ๋‹ค์•ผ!

์œ ์šฉํ•œ ๋งํฌ

2. IntelliJ IDEA์—์„œ Git์œผ๋กœ ์ž‘์—…ํ•˜๋Š” ๋ฐฉ๋ฒ•

์ด ํŒŒํŠธ์—์„œ๋Š” โ€‹โ€‹IntelliJ IDEA์—์„œ Git์œผ๋กœ ์ž‘์—…ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์›๋‹ˆ๋‹ค.

ํ•„์ˆ˜ ์ž…๋ ฅ:

  1. ์ฝ๊ณ , ๋”ฐ๋ผํ•˜๊ณ , ์ด์ „ ๋ถ€๋ถ„์„ ์ดํ•ดํ•˜์‹ญ์‹œ์˜ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๋ชจ๋“  ๊ฒƒ์ด ์„ค์ •๋˜๊ณ  ์‚ฌ์šฉํ•  ์ค€๋น„๊ฐ€ ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.
  2. IntelliJ IDEA๋ฅผ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ๊ฒƒ์ด ์—ฌ๊ธฐ์— ์ˆœ์„œ๋Œ€๋กœ ์žˆ์–ด์•ผํ•ฉ๋‹ˆ๋‹ค :)
  3. ์™„์ „ํ•œ ์ˆ™๋‹ฌ์„ ๋‹ฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ํ•œ ์‹œ๊ฐ„์„ ํ• ๋‹นํ•˜์‹ญ์‹œ์˜ค.

Git์— ๋Œ€ํ•œ ๊ธฐ์‚ฌ์—์„œ ์‚ฌ์šฉํ•œ ๋ฐ๋ชจ ํ”„๋กœ์ ํŠธ ๋กœ ์ž‘์—…ํ•ด ๋ด…์‹œ๋‹ค .

ํ”„๋กœ์ ํŠธ๋ฅผ ๋กœ์ปฌ๋กœ ๋ณต์ œ

์—ฌ๊ธฐ์—๋Š” ๋‘ ๊ฐ€์ง€ ์˜ต์…˜์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  1. ์ด๋ฏธ GitHub ๊ณ„์ •์ด ์žˆ๊ณ  ๋‚˜์ค‘์— ๋ฌด์–ธ๊ฐ€๋ฅผ ํ‘ธ์‹œํ•˜๋ ค๋Š” ๊ฒฝ์šฐ ํ”„๋กœ์ ํŠธ๋ฅผ ํฌํฌํ•˜๊ณ  ์ž์‹ ์˜ ๋ณต์‚ฌ๋ณธ์„ ๋ณต์ œํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ๋ถ„๊ธฐ ์ž‘์—… ํ๋ฆ„์˜ ์˜ˆ๋ผ๋Š” ์ œ๋ชฉ ์•„๋ž˜์˜ ๋‹ค๋ฅธ ๋ฌธ์„œ์—์„œ ๋ถ„๊ธฐ ์ƒ์„ฑ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์ฝ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค .
  2. ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ๋ณต์ œํ•˜๊ณ  ์ „์ฒด๋ฅผ ์„œ๋ฒ„์— ํ‘ธ์‹œํ•˜๋Š” ๊ธฐ๋Šฅ ์—†์ด ๋กœ์ปฌ์—์„œ ๋ชจ๋“  ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

GitHub์—์„œ ํ”„๋กœ์ ํŠธ๋ฅผ ๋ณต์ œํ•˜๋ ค๋ฉด ํ”„๋กœ์ ํŠธ ๋งํฌ๋ฅผ ๋ณต์‚ฌํ•˜์—ฌ IntelliJ IDEA์— ์ „๋‹ฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  1. ํ”„๋กœ์ ํŠธ ์ฃผ์†Œ ๋ณต์‚ฌ:

  2. IntelliJ IDEA๋ฅผ ์—ด๊ณ  "๋ฒ„์ „ ์ œ์–ด์—์„œ ๊ฐ€์ ธ์˜ค๊ธฐ"๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

  3. ํ”„๋กœ์ ํŠธ ์ฃผ์†Œ๋ฅผ ๋ณต์‚ฌํ•˜์—ฌ ๋ถ™์—ฌ๋„ฃ๊ธฐ:

  4. IntelliJ IDEA ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•˜๋ผ๋Š” ๋ฉ”์‹œ์ง€๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ์ œ์•ˆ ์ˆ˜๋ฝ:

  5. ๋นŒ๋“œ ์‹œ์Šคํ…œ์ด ์—†์œผ๋ฏ€๋กœ "๊ธฐ์กด ์†Œ์Šค์—์„œ ํ”„๋กœ์ ํŠธ ๋งŒ๋“ค๊ธฐ"๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

  6. ๋‹ค์Œ์œผ๋กœ ์•„๋ฆ„๋‹ค์šด ํ™”๋ฉด์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ณต์ œ๋ฅผ ์•Œ์•„๋ƒˆ์œผ๋‹ˆ ์ด์ œ ๋‘˜๋Ÿฌ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Git UI๋กœ์„œ์˜ IntelliJ IDEA ์ฒซ์ธ์ƒ

๋ณต์ œ๋œ ํ”„๋กœ์ ํŠธ๋ฅผ ์ž์„ธํžˆ ์‚ดํŽด๋ณด์‹ญ์‹œ์˜ค. ์ด๋ฏธ ๋ฒ„์ „ ์ œ์–ด ์‹œ์Šคํ…œ์— ๋Œ€ํ•œ ๋งŽ์€ ์ •๋ณด๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋จผ์ € ์™ผ์ชฝ ํ•˜๋‹จ ๋ชจ์„œ๋ฆฌ์— ๋ฒ„์ „ ์ œ์–ด ์ฐฝ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—์„œ ๋ชจ๋“  ๋กœ์ปฌ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ฐพ๊ณ  ์ปค๋ฐ‹ ๋ชฉ๋ก์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค("git log"์™€ ์œ ์‚ฌ).

Log์— ๋Œ€ํ•œ ํ† ๋ก ์œผ๋กœ ๋„˜์–ด ๊ฐ‘์‹œ๋‹ค. ๊ฐœ๋ฐœ์ด ์–ด๋–ป๊ฒŒ ์ง„ํ–‰๋˜์—ˆ๋Š”์ง€ ์ •ํ™•ํžˆ ์ดํ•ดํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜๋Š” ํŠน์ • ์‹œ๊ฐํ™”๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด txt ์ปค๋ฐ‹์— ํ—ค๋”๊ฐ€ ์ถ”๊ฐ€๋œ ์ƒˆ ๋ถ„๊ธฐ๊ฐ€ ์ƒ์„ฑ๋œ ๋‹ค์Œ ๋งˆ์Šคํ„ฐ ๋ถ„๊ธฐ๋กœ ๋ณ‘ํ•ฉ๋œ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ปค๋ฐ‹์„ ํด๋ฆญํ•˜๋ฉด ์˜ค๋ฅธ์ชฝ ๋ชจ์„œ๋ฆฌ์—์„œ ์ปค๋ฐ‹์— ๋Œ€ํ•œ ๋ชจ๋“  ์ •๋ณด(๋ชจ๋“  ๋ณ€๊ฒฝ ์‚ฌํ•ญ ๋ฐ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ)๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ ์‹ค์ œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๊ทธ๊ณณ์—์„œ ๊ฐˆ๋“ฑ์ด ํ•ด๊ฒฐ๋˜์—ˆ์Œ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. IDEA๋Š” ์ด๊ฒƒ์„ ์•„์ฃผ ์ž˜ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

์ด ์ปค๋ฐ‹ ์ค‘์— ๋ณ€๊ฒฝ๋œ ํŒŒ์ผ์„ ๋‘ ๋ฒˆ ํด๋ฆญํ•˜๋ฉด ์ถฉ๋Œ์ด ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์™ผ์ชฝ๊ณผ ์˜ค๋ฅธ์ชฝ์—๋Š” ํ•˜๋‚˜๋กœ ๋ณ‘ํ•ฉํ•ด์•ผ ํ•˜๋Š” ๋™์ผํ•œ ํŒŒ์ผ์˜ ๋‘ ๊ฐ€์ง€ ๋ฒ„์ „์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ค‘๊ฐ„์— ์ตœ์ข… ๋ณ‘ํ•ฉ ๊ฒฐ๊ณผ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ”„๋กœ์ ํŠธ์— ๋ถ„๊ธฐ, ์ปค๋ฐ‹ ๋ฐ ์‚ฌ์šฉ์ž๊ฐ€ ๋งŽ์€ ๊ฒฝ์šฐ ๋ถ„๊ธฐ, ์‚ฌ์šฉ์ž ๋ฐ ๋‚ ์งœ๋ณ„๋กœ ๋ณ„๋„๋กœ ๊ฒ€์ƒ‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์‹œ์ž‘ํ•˜๊ธฐ ์ „์— ์šฐ๋ฆฌ๊ฐ€ ์†ํ•œ ์ง€์ ์„ ์ดํ•ดํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•˜๋Š” ๊ฒƒ๋„ ์ข‹์Šต๋‹ˆ๋‹ค.

์˜ค๋ฅธ์ชฝ ํ•˜๋‹จ์— "Git: master"๋ผ๋Š” ๋ฒ„ํŠผ์ด ์žˆ์Šต๋‹ˆ๋‹ค. "Git:" ๋’ค์— ์˜ค๋Š” ๊ฒƒ์ด ํ˜„์žฌ ๋ธŒ๋žœ์น˜์ž…๋‹ˆ๋‹ค. ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด ๋‹ค๋ฅธ ๋ธŒ๋žœ์น˜๋กœ ์ „ํ™˜ํ•˜๊ณ , ์ƒˆ ๋ธŒ๋žœ์น˜๋ฅผ ์ƒ์„ฑํ•˜๊ณ , ๊ธฐ์กด ๋ธŒ๋žœ์น˜์˜ ์ด๋ฆ„์„ ๋ฐ”๊พธ๋Š” ๋“ฑ ๋งŽ์€ ์œ ์šฉํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฆฌํฌ์ง€ํ† ๋ฆฌ ์ž‘์—…

์œ ์šฉํ•œ ๋‹จ์ถ•ํ‚ค

ํ–ฅํ›„ ์ž‘์—…์„ ์œ„ํ•ด ๋ช‡ ๊ฐ€์ง€ ๋งค์šฐ ์œ ์šฉํ•œ ํ•ซํ‚ค๋ฅผ ๊ธฐ์–ตํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  1. CTRL+T โ€” ์›๊ฒฉ ์ €์žฅ์†Œ์—์„œ ์ตœ์‹  ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค(git pull).
  2. CTRL+K โ€” ์ปค๋ฐ‹์„ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ ํ˜„์žฌ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋ชจ๋‘ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ์ถ”์ ๋˜์ง€ ์•Š์€ ํŒŒ์ผ๊ณผ ์ˆ˜์ •๋œ ํŒŒ์ผ(git commit)์ด ๋ชจ๋‘ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.
  3. CTRL+SHIFT+K โ€” ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์›๊ฒฉ ์ €์žฅ์†Œ๋กœ ํ‘ธ์‹œํ•˜๋Š” ๋ช…๋ น์ž…๋‹ˆ๋‹ค. ๋กœ์ปฌ์—์„œ ์ƒ์„ฑ๋˜๊ณ  ์•„์ง ์›๊ฒฉ ์ €์žฅ์†Œ์— ์—†๋Š” ๋ชจ๋“  ์ปค๋ฐ‹์ด ํ‘ธ์‹œ๋ฉ๋‹ˆ๋‹ค(git push).
  4. ALT+CTRL+Z โ€” ํŠน์ • ํŒŒ์ผ์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋กœ์ปฌ ์ €์žฅ์†Œ์—์„œ ์ƒ์„ฑ๋œ ๋งˆ์ง€๋ง‰ ์ปค๋ฐ‹ ์ƒํƒœ๋กœ ๋กค๋ฐฑํ•ฉ๋‹ˆ๋‹ค. ์™ผ์ชฝ ์ƒ๋‹จ ๋ชจ์„œ๋ฆฌ์—์„œ ์ „์ฒด ํ”„๋กœ์ ํŠธ๋ฅผ ์„ ํƒํ•˜๋ฉด ๋ชจ๋“  ํŒŒ์ผ์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋กค๋ฐฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ๋ฌด์—‡์„ ์›ํ•ฉ๋‹ˆ๊นŒ?

์ž‘์—…์„ ์™„๋ฃŒํ•˜๋ ค๋ฉด ๋ชจ๋“  ๊ณณ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๊ธฐ๋ณธ ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ๋งˆ์Šคํ„ฐํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋ชฉํ‘œ๋Š” ๋ณ„๋„์˜ ๋ธŒ๋žœ์น˜์—์„œ ์ƒˆ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•œ ๋‹ค์Œ ์›๊ฒฉ ์ €์žฅ์†Œ๋กœ ํ‘ธ์‹œํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค(๊ทธ๋Ÿฐ ๋‹ค์Œ ๋ฉ”์ธ ๋ธŒ๋žœ์น˜์— ๋Œ€ํ•œ ํ’€ ์š”์ฒญ๋„ ์ƒ์„ฑํ•ด์•ผ ํ•˜์ง€๋งŒ ์ด ๊ณผ์ •์˜ ๋ฒ”์œ„๋ฅผ ๋ฒ—์–ด๋‚ฉ๋‹ˆ๋‹ค).

์ด๋ฅผ ์œ„ํ•ด ๋ฌด์—‡์ด ํ•„์š”ํ•ฉ๋‹ˆ๊นŒ?

  1. ๊ธฐ๋ณธ ๋ถ„๊ธฐ(์˜ˆ: "๋งˆ์Šคํ„ฐ")์˜ ๋ชจ๋“  ํ˜„์žฌ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

  2. ์ด ๊ธฐ๋ณธ ๋ถ„๊ธฐ์—์„œ ์ž‘์—…์„ ์œ„ํ•œ ๋ณ„๋„์˜ ๋ถ„๊ธฐ๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

  3. ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.

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

    ์™œ ์ด๋ ‡๊ฒŒ ํ•ด์•ผ ํ•˜๋Š”์ง€ ๊ถ๊ธˆํ•˜์‹œ์ฃ ? ๋ถ„๊ธฐ๋ฅผ ๋กœ์ปฌ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋กœ ํ‘ธ์‹œํ•œ ํ›„ ๋ฐœ์ƒํ•˜๋Š” ์ถฉ๋Œ์„ ๋ฐฉ์ง€ํ•˜๋Š” ์ข‹์€ ๋งค๋„ˆ์ž…๋‹ˆ๋‹ค(๋ฌผ๋ก  ์ถฉ๋Œ์ด ๊ณ„์† ๋ฐœ์ƒํ•  ๊ฐ€๋Šฅ์„ฑ์€ ์žˆ์ง€๋งŒ ํ›จ์”ฌ ์ž‘์•„์ง‘๋‹ˆ๋‹ค ) .

  5. ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์›๊ฒฉ ์ €์žฅ์†Œ๋กœ ํ‘ธ์‹œํ•ฉ๋‹ˆ๋‹ค.

์›๊ฒฉ ์„œ๋ฒ„์—์„œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๊ฐ€์ ธ์˜ค๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

์ƒˆ ์ปค๋ฐ‹์œผ๋กœ README์— ์„ค๋ช…์„ ์ถ”๊ฐ€ํ–ˆ์œผ๋ฉฐ ์ด๋Ÿฌํ•œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ ์šฉํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋กœ์ปฌ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์™€ ์›๊ฒฉ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ๋ชจ๋‘์—์„œ ๋ณ€๊ฒฝ๋œ ๊ฒฝ์šฐ ๋ณ‘ํ•ฉ๊ณผ ๋ฆฌ๋ฒ ์ด์Šค ์ค‘์—์„œ ์„ ํƒํ•˜๋„๋ก ์ดˆ๋Œ€๋ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๋ณ‘ํ•ฉ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

CTRL+T๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค .

์ด์ œ README๊ฐ€ ์–ด๋–ป๊ฒŒ ๋ณ€๊ฒฝ๋˜์—ˆ๋Š”์ง€, ์ฆ‰ ์›๊ฒฉ ์ €์žฅ์†Œ์—์„œ ๊ฐ€์ ธ์˜จ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋ณผ ์ˆ˜ ์žˆ์œผ๋ฉฐ ์˜ค๋ฅธ์ชฝ ์•„๋ž˜ ๋ชจ์„œ๋ฆฌ์—์„œ ์„œ๋ฒ„์—์„œ ์˜จ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์— ๋Œ€ํ•œ ๋ชจ๋“  ์„ธ๋ถ€ ์ •๋ณด๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋งˆ์Šคํ„ฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ƒˆ ๋ถ„๊ธฐ ๋งŒ๋“ค๊ธฐ

์—ฌ๊ธฐ์—์„œ๋Š” ๋ชจ๋“  ๊ฒƒ์ด ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค.

์˜ค๋ฅธ์ชฝ ํ•˜๋‹จ์œผ๋กœ ์ด๋™ํ•˜์—ฌ Git: master ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค . + ์ƒˆ ๋ถ„๊ธฐ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค .

Checkout branch ํ™•์ธ๋ž€์„ ์„ ํƒ๋œ ์ƒํƒœ๋กœ ๋‘๊ณ  ์ƒˆ ์ง€์ ์˜ ์ด๋ฆ„์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ์˜ ๊ฒฝ์šฐ: ์ด๊ฒƒ์€ readme-improver ์ž…๋‹ˆ๋‹ค .

Git: master ๋Š” Git: readme-improver ๋กœ ๋ณ€๊ฒฝ๋ฉ๋‹ˆ๋‹ค .

๋ณ‘๋ ฌ ์ž‘์—…์„ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ํ•ด ๋ด…์‹œ๋‹ค

์ถฉ๋Œ์ด ๋‚˜ํƒ€๋‚˜๋ ค๋ฉด ๋ˆ„๊ตฐ๊ฐ€ ์ถฉ๋Œ์„ ๋งŒ๋“ค์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋ธŒ๋ผ์šฐ์ €๋ฅผ ํ†ตํ•ด ์ƒˆ๋กœ์šด ์ปค๋ฐ‹์œผ๋กœ README๋ฅผ ํŽธ์ง‘ํ•˜์—ฌ ๋ณ‘๋ ฌ ์ž‘์—…์„ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ํ•ฉ๋‹ˆ๋‹ค. ๋งˆ์น˜ ์šฐ๋ฆฌ๊ฐ€ ์ž‘์—…ํ•˜๋Š” ๋™์•ˆ ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ๋™์ผํ•œ ํŒŒ์ผ์„ ๋ณ€๊ฒฝํ•œ ๊ฒƒ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ทธ ๊ฒฐ๊ณผ๋Š” ๊ฐˆ๋“ฑ์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. 10ํ–‰์—์„œ "fully"๋ผ๋Š” ๋‹จ์–ด๋ฅผ ์ œ๊ฑฐํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ธฐ๋Šฅ ๊ตฌํ˜„

์šฐ๋ฆฌ์˜ ์ž„๋ฌด๋Š” README๋ฅผ ๋ณ€๊ฒฝํ•˜๊ณ  ์ƒˆ ๊ธฐ์‚ฌ์— ์„ค๋ช…์„ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ฆ‰, Git์—์„œ์˜ ์ž‘์—…์€ IntelliJ IDEA๋ฅผ ๊ฑฐ์นฉ๋‹ˆ๋‹ค. ์ด๊ฑฐ ์ถ”๊ฐ€ ํ•ด๋ด:

๋ณ€๊ฒฝ์ด ์™„๋ฃŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ ์ปค๋ฐ‹์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. CTRL+K ๋ฅผ ๋ˆ„๋ฅด๋ฉด ๋‹ค์Œ์ด ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.

์ปค๋ฐ‹์„ ์ƒ์„ฑํ•˜๊ธฐ ์ „์— ์ด ์ฐฝ์—์„œ ์ œ๊ณตํ•˜๋Š” ๋‚ด์šฉ์„ ์ž์„ธํžˆ ์‚ดํŽด๋ณผ ํ•„์š”๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€ ์„น์…˜ ์—์„œ ์ปค๋ฐ‹๊ณผ ๊ด€๋ จ๋œ ํ…์ŠคํŠธ๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ์ƒ์„ฑํ•˜๋ ค๋ฉด Commit ์„ ํด๋ฆญํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค .

README๊ฐ€ ๋ณ€๊ฒฝ๋˜์—ˆ๋‹ค๊ณ  ์ž‘์„ฑํ•˜๊ณ  ์ปค๋ฐ‹์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์ปค๋ฐ‹ ์ด๋ฆ„๊ณผ ํ•จ๊ป˜ ์™ผ์ชฝ ํ•˜๋‹จ ๋ชจ์„œ๋ฆฌ์— ๊ฒฝ๊ณ  ํŒ์—…์ด ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.

๋ฉ”์ธ ๋ธŒ๋žœ์น˜ ๋ณ€๊ฒฝ ์—ฌ๋ถ€ ํ™•์ธ

์šฐ๋ฆฌ๋Š” ์ž„๋ฌด๋ฅผ ์™„์ˆ˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ํšจ๊ณผ๊ฐ€์žˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ํ…Œ์ŠคํŠธ๋ฅผ ์ž‘์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ๊ฒƒ์ด ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์„œ๋ฒ„์— ํ‘ธ์‹œํ•˜๊ธฐ ์ „์— ๊ทธ ๋™์•ˆ ๋ฉ”์ธ ๋ธŒ๋žœ์น˜์— ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์žˆ์—ˆ๋Š”์ง€ ํ™•์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์–ด๋–ป๊ฒŒ ๊ทธ๋Ÿฐ ์ผ์ด ์ผ์–ด๋‚  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ์•„์ฃผ ์‰ฝ๊ฒŒ: ๋ˆ„๊ตฐ๊ฐ€ ๋‹น์‹ ๋ณด๋‹ค ์ž‘์—…์„ ๋‚˜์ค‘์— ๋ฐ›๊ณ  ๊ทธ ๋ˆ„๊ตฐ๊ฐ€๋Š” ๋‹น์‹ ์ด ์ž‘์—…์„ ์™„๋ฃŒํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ๋” ๋นจ๋ฆฌ ์™„๋ฃŒํ•ฉ๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ๋งˆ์Šคํ„ฐ ๋ธŒ๋žœ์น˜๋กœ ์ด๋™ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ ค๋ฉด ์•„๋ž˜ ์Šคํฌ๋ฆฐ์ƒท์˜ ์˜ค๋ฅธ์ชฝ ํ•˜๋‹จ์— ํ‘œ์‹œ๋œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋งˆ์Šคํ„ฐ ๋ธŒ๋žœ์น˜์—์„œ CTRL+T๋ฅผ ๋ˆŒ๋Ÿฌ ์›๊ฒฉ ์„œ๋ฒ„์—์„œ ์ตœ์‹  ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค. ๋ณ€๊ฒฝ ๋‚ด์šฉ์„ ๋ณด๋ฉด ๋ฌด์Šจ ์ผ์ด ์ผ์–ด๋‚ฌ๋Š”์ง€ ์‰ฝ๊ฒŒ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

"fully"๋ผ๋Š” ๋‹จ์–ด๊ฐ€ ์ œ๊ฑฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋งˆ์ผ€ํŒ… ๋‹ด๋‹น์ž๊ฐ€ ๊ทธ๋ ‡๊ฒŒ ์ž‘์„ฑํ•˜๋ฉด ์•ˆ ๋œ๋‹ค๊ณ  ํŒ๋‹จํ•˜๊ณ  ๊ฐœ๋ฐœ์ž์—๊ฒŒ ์—…๋ฐ์ดํŠธ ์ž‘์—…์„ ๋ถ€์—ฌํ–ˆ์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด์ œ ์ตœ์‹  ๋ฒ„์ „์˜ ๋งˆ์Šคํ„ฐ ๋ธŒ๋žœ์น˜์— ๋Œ€ํ•œ ๋กœ์ปฌ ๋ณต์‚ฌ๋ณธ์ด ์ƒ๊ฒผ์Šต๋‹ˆ๋‹ค. readme-improver ๋กœ ๋Œ์•„๊ฐ€์‹ญ์‹œ์˜ค .

์ด์ œ ๋งˆ์Šคํ„ฐ ๋ธŒ๋žœ์น˜์—์„œ ์šฐ๋ฆฌ ๋ธŒ๋žœ์น˜๋กœ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋ฆฌ๋ฒ ์ด์Šคํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์ด๋ ‡๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค:

๋ชจ๋“  ์ž‘์—…์„ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ˆ˜ํ–‰ํ•˜๊ณ  ์ €๋ฅผ ๋”ฐ๋ผํ–ˆ๋‹ค๋ฉด ๊ฒฐ๊ณผ๋Š” README ํŒŒ์ผ์— ์ถฉ๋Œ์ด ํ‘œ์‹œ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

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

  1. accept yours โ€” readme-improver์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ๋งŒ ์ˆ˜๋ฝํ•ฉ๋‹ˆ๋‹ค.
  2. accept theirs โ€” ๋งˆ์Šคํ„ฐ์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ๋งŒ ์ˆ˜๋ฝํ•ฉ๋‹ˆ๋‹ค.
  3. ๋ณ‘ํ•ฉ โ€” ๋ณด๊ด€ํ•  ํ•ญ๋ชฉ๊ณผ ๋ฒ„๋ฆด ํ•ญ๋ชฉ์„ ์ง์ ‘ ์„ ํƒํ•˜์„ธ์š”.

๋ฌด์—‡์ด ๋ณ€๊ฒฝ๋˜์—ˆ๋Š”์ง€๋Š” ๋ช…ํ™•ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋งˆ์Šคํ„ฐ ๋ธŒ๋žœ์น˜์— ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์žˆ๋Š” ๊ฒฝ์šฐ ํ•ด๋‹น ๋ธŒ๋žœ์น˜์— ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ํ•„์š”ํ•˜๋ฏ€๋กœ ๋‹จ์ˆœํžˆ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ˆ˜๋ฝํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ณ‘ํ•ฉ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค .

์—ฌ๊ธฐ์„œ ์šฐ๋ฆฌ๋Š” ์„ธ ๋ถ€๋ถ„์ด ์žˆ์Œ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  1. ์ด๊ฒƒ์€ readme-improver์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ž…๋‹ˆ๋‹ค.
  2. ๋ณ‘ํ•ฉ๋œ ๊ฒฐ๊ณผ์ž…๋‹ˆ๋‹ค. ํ˜„์žฌ๋กœ์„œ๋Š” ๋ณ€๊ฒฝ ์ด์ „์— ์กด์žฌํ–ˆ๋˜ ๊ฒƒ์ž…๋‹ˆ๋‹ค.
  3. ๋งˆ์Šคํ„ฐ ๋ธŒ๋žœ์น˜์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ.

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

๊ทธ๋Ÿฐ ๋‹ค์Œ ์•Œ๋ฆผ์ด ํŒ์—…๋˜์–ด ๋ฆฌ๋ฒ ์ด์Šค๊ฐ€ ์„ฑ๊ณตํ–ˆ์Œ์„ ์•Œ๋ ค์ค๋‹ˆ๋‹ค.

๊ฑฐ๊ธฐ! IntelliJ IDEA๋ฅผ ํ†ตํ•ด ์ฒซ ๋ฒˆ์งธ ์ถฉ๋Œ์„ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค.

๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์›๊ฒฉ ์„œ๋ฒ„๋กœ ํ‘ธ์‹œ

๋‹ค์Œ ๋‹จ๊ณ„๋Š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์›๊ฒฉ ์„œ๋ฒ„์— ํ‘ธ์‹œํ•˜๊ณ  ํ’€ ์š”์ฒญ์„ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ ค๋ฉด CTRL+SHIFT+K ๋ฅผ ๋ˆ„๋ฅด๊ธฐ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค . ๊ทธ๋Ÿฐ ๋‹ค์Œ ๋‹ค์Œ์„ ์–ป์Šต๋‹ˆ๋‹ค.

์™ผ์ชฝ์—๋Š” ์›๊ฒฉ ์ €์žฅ์†Œ๋กœ ํ‘ธ์‹œ๋˜์ง€ ์•Š์€ ์ปค๋ฐ‹ ๋ชฉ๋ก์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ค๋ฅธ์ชฝ์—๋Š” ๋ณ€๊ฒฝ๋œ ๋ชจ๋“  ํŒŒ์ผ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ๊ฒŒ ๋‹ค์•ผ! ํ‘ธ์‹œ๋ฅผ ๋ˆ„๋ฅด์‹œ๋ฉด ํ–‰๋ณต์„ ๊ฒฝํ—˜ํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค :)

ํ‘ธ์‹œ๊ฐ€ ์„ฑ๊ณตํ•˜๋ฉด ์˜ค๋ฅธ์ชฝ ํ•˜๋‹จ์— ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์•Œ๋ฆผ์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

๋ณด๋„ˆ์Šค: ํ’€ ๋ฆฌํ€˜์ŠคํŠธ ์ƒ์„ฑ

GitHub ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋กœ ์ด๋™ํ•˜๋ฉด GitHub๊ฐ€ ์šฐ๋ฆฌ๊ฐ€ ์›ํ•˜๋Š” ๊ฒƒ์„ ์ด๋ฏธ ์•Œ๊ณ  ์žˆ์Œ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋น„๊ต ๋ฐ ํ’€ ์š”์ฒญ ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค . ๊ทธ๋Ÿฐ ๋‹ค์Œ ํ’€ ์š”์ฒญ ๋งŒ๋“ค๊ธฐ ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค . ์šฐ๋ฆฌ๋Š” ๋ฏธ๋ฆฌ ์ถฉ๋Œ์„ ํ•ด๊ฒฐํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ํ’€ ์š”์ฒญ์„ ์ƒ์„ฑํ•  ๋•Œ ์ฆ‰์‹œ ๋ณ‘ํ•ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ง€๊ธˆ์€ ๊ทธ๊ฒŒ ๋‹ค์•ผ!